تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] الكتابة في أداة تيكس بوكس برمجيا
#1
سلام إخواني

هذا الكود الجميل يقوم بالكتابة في أداة تيكس بوكس
مع وضع إسم التيكسبوكس في متغير








[صورة مرفقة: 729856278.jpg]



ممكن أعرف لماذا هذا الكود شغال فقط عند وضع الأداة في حاوية مثل PANEL
لكن عند وضع التيكسبوكس على الفورم مباشرة
لا يشتغل

شكرا على التوضيح
الرد
تم الشكر بواسطة: Anas Mahmoud
#2
الكود يقوم بالبحث داخل كونترولات الفورم باستخدام For each

لكل كونترول P داخل الفورم لايقوم الكود باختبار p اذا كان التكست بوكس الذي نبحث عنه ام لا ، بل يقوم ايضا بالبحث داخل ب عن التكست بوكس الذي نريده

ربما عليك اختبار اولا اذا كان P.name تساوي "Textbox1" وعندها تخرج من For ايضا
الرد
تم الشكر بواسطة:
#3
يمكنك استخدام الدالة التالية لاحضار اي كونترول من اسمه في اي كونتينر كان

كود :
   Function GetControl(Parent As Control, Name As String) As Control
       For Each c As Control In Parent.Controls
           If c.Name = Name Then Return c
           Dim found = GetControl(c, Name)
           If Not found Is Nothing Then Return found
       Next
       Return Nothing
   End Function

استخدامها 

كود :
     Dim txt1 As TextBox = GetControl(Me, "TextBox1")
       Dim txt2 As TextBox = GetControl(Me, "TextBox2")
       Dim txt3 As TextBox = GetControl(Me, "TextBox3")
       Dim txt4 As TextBox = GetControl(Me, "TextBox4")

       txt1.Text = "txt1"
       txt2.Text = "txt2"
       txt3.Text = "txt3"
       txt4.Text = "txt4"

   
   
الرد
#4
أخي Anas Mahmoud
شكرا على المساعدة
جزاك الله من علمه
تقييمك هو أقل شيئ في حقك
الرد
#5
عفواً اخى sniperjawadino
ما الفرق بين الكود التى تريد استخدامه عن الكود البسيط المباشر لاعطاء قيمة
اذا كان الكود الخاص بك والكود الخاص بالاخ Anas Mahmoud
كل ما تفعله هو كتابة اكثر من سطر وليس هذا فقط وايضاً عمل لود متكرر بسبب For
لتكتب بالنهاية
text_.text - "anything"
بينما لو كتبت
textbox1.text = "anything"
سيكون الناتج والمعنى واحد للمطلوب وايضاً سيتم تقليل اللود على البرنامج
الرد
#6
(18-09-20, 02:50 PM)kiki كتب : عفواً اخى sniperjawadino
ما الفرق بين الكود التى تريد استخدامه عن الكود البسيط المباشر لاعطاء قيمة
اذا كان الكود الخاص بك والكود الخاص بالاخ Anas Mahmoud
كل ما تفعله هو كتابة اكثر من سطر وليس هذا فقط وايضاً عمل لود متكرر بسبب For
لتكتب بالنهاية
text_.text - "anything"
بينما لو كتبت
textbox1.text = "anything"
سيكون الناتج والمعنى واحد للمطلوب وايضاً سيتم تقليل اللود على البرنامج

افترض اما حالتان : 

اما ان الاخ يريد ان يقوم المستخدم باختيار الكونترول الذي يريد تعديله من اسمه ، وبالتالي لابد من طريقة للبحث عن الكونترول باسمه

او انه ينشأ كونترولات وقت التشغيل ويريد الوصول اليها من اسمها

والله اعلم طبعا
الرد
تم الشكر بواسطة: عبد الرؤوف
#7
شكرا أخي kiki و الأخ anas على المتابعة

كما قال الأخ أنس هذه الطريقة أظنها تنفع كثيرا في بعض المشاريع
هذفها هو الوصول إلى كونترول و التعديل فيه دون معرفة إسمه مسبقا
بل يتم الكشف عن إسمه عند إستعمال البرنامج
الرد
تم الشكر بواسطة: Anas Mahmoud , عبد الرؤوف


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كود منع ادخال ارقام او حروف داخل التيكست بوكس ابو نور الهدى 2 137 01-05-21, 06:15 AM
آخر رد: أبووسم
  [سؤال] هل يوجد margin داخلي للتكست بوكس ؟ kafi2030 11 4,364 27-04-21, 09:46 PM
آخر رد: wasfi
  [VB.NET] اضافة عناصر من اليست بوكس1 الي ليست بوكس اخر2 محمد اسماعيل 2 195 10-04-21, 01:59 AM
آخر رد: محمد اسماعيل
  [VB.NET] الاضافة على كومبو بوكس EMADSSS 4 319 22-03-21, 03:01 AM
آخر رد: عبد الهادي بهاب
  [VB.NET] كومبو بوكس EMAD MM 3 306 16-03-21, 05:11 PM
آخر رد: asmarsou
  كيف اتأكد من صيغة التاريخ في تكست بوكس ؟ Alhootti1 1 202 15-03-21, 08:51 PM
آخر رد: Alhootti1
  التأكد من أن الليست بوكس خالية من البيانات aftfm 1 237 12-03-21, 09:08 PM
آخر رد: 3booody
  تفريغ الكومبو بوكس من البيانات aftfm 1 269 27-02-21, 11:16 AM
آخر رد: معاند الحظ
  سؤال حول الكتابة داخل ريتش تيكست بوكس Lathe1 1 240 26-02-21, 10:56 PM
آخر رد: ابراهيم ايبو
  [سؤال] حساب العمليات الحسابية المكتوبة في التيكست بوكس tarek 10 10,052 11-02-21, 05:24 PM
آخر رد: popritch

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم