تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] دالة تتعرف علي الزر الذي تم النقر عليه وتغير قيمة مربع النص المقابل
#1
عندي دالة للتعرف علي الزر الذي تم النقر عليه بواسطة المستخدم ثم تغير لون خلفية مربع النص المقابل والكود يعمل بشكل صحيح ، الا انه لتغيير قيمة مربع خيار لا يعمل ويعطي خطا يوضح ان الخاصية (.Checked ) ليس عضو ، وكما تعلمون ان مربع الخيار له هذه الخاصية.

كود :
Private Sub BtnBlue_Click(sender As Object, e As EventArgs) Handles BtnRed.Click, BtnBlue.Click, BtnGreen.Click
[size=small][font=Consolas] [/font][/size]
[size=small][font=Consolas]        Dim BtnName As String = CType(sender, Button).Name[/font][/size]
[size=small][font=Consolas]        Dim ColorName as String = BtnName.Trimstart("B","t", "n")[/font][/size]
[size=small][font=Consolas]     [/font][/size][size=small][font=Consolas]   Dim RadioBtnName as string = [/font][/size][size=small][font=Consolas]ColorName + "RadioBtn"[/font][/size]
[size=small][font=Consolas]        dim TxtName as string = ColorName + "Txt"[/font][/size]
[size=small][font=Arial, sans-serif] [/font][/size]
[size=small][font=Consolas]    [/font][/size]
[size=small][font=Consolas]       Me.controls.Tabcontrol1(TxtName[/font][/size][size=small][font=Consolas]).Backcolor = colorname[/font][/size]
[size=small][font=Consolas]       [/font][/size]
[size=small][font=Consolas]       Me.controls.Tabcontrol1([/font][/size][size=small][font=Consolas]RadioBtnName).Checked = True [/font][/size]
[size=small][font=Consolas] [/font][/size]
    End Sub


اي اقتراح لتحسين الكود مقبول

وشكرا


كود :
Private Sub BtnBlue_Click(sender As Object, e As EventArgs) Handles BtnRed.Click, BtnBlue.Click, BtnGreen.Click

       Dim BtnName As String = CType(sender, Button).Name
       Dim ColorName as String = BtnName.Trimstart("B","t", "n")
       Dim RadioBtnName as string = ColorName + "RadioBtn"
       dim TxtName as string = ColorName + "Txt"

   
      Me.controls.Tabcontrol1(TxtName).Backcolor = colorname
     
      Me.controls.Tabcontrol1(RadioBtnName).Checked = True

   End Sub
الرد }}}}
تم الشكر بواسطة:
#2
سبب الخطأ هنا هو أنك تستخدم String و ليس Control عليك ان تقوم بعمل loop باستخدام ControlCollection لكي تجد الكونترول الذي تريده و ذلك باستخدام اسم الكونترول  ثم تقوم بعمل Cast لتغيير القيمة Checked الي True


الكود التالي يوضح الفكرة و عليك ان تتبع نفس الاسلوب في الكود الخاص بك

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

PHP كود :
Dim controlName As String "RadioButton1"
 
       Dim ctrl As Control CType(NothingControl)
 
       For Each contrl As Control In Controls
            If contrl
.Name controlName Then
                ctrl 
contrl
                Exit 
For
 
           End If
 
       Next

        Dim radioBtn 
As RadioButton CType(ctrlRadioButton)
 
       radioBtn.Checked Not radioBtn.Checked 
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] انشاء ازرار مع تعيين حدث النقر لكل زر bidaya 7 127 25-02-17, 10:06 PM
آخر رد: bidaya
  [VB.NET] تمرير القيمة من مربع نص وجمعها مع القيمة الاولى في datagridview يونس 4 91 22-02-17, 06:50 PM
آخر رد: يونس
Photo [VB.NET] تمرير القيمة من مربع نص وجمعها مع القيمة الاولى في DataGridView يونس 0 50 22-02-17, 05:15 PM
آخر رد: يونس
  مشكلة في عرض النص بالعربي في #Region فقط ali.alfoly 1 77 22-02-17, 02:50 AM
آخر رد: مساعدة
  كيفية اظهار قاءمة عند النقر بزر الفأرة الايمن على الداتا قريد فيو في فيجوال 2008 المتألق9 2 80 05-02-17, 01:43 AM
آخر رد: المتألق9
  [VB.NET] ازاى اتحقق ان الصف رقم 1 فى العمود رقم 7 فيه قيمة وليس فارغ؟ فى ليست فيو الماجيك مسعد 10 249 31-01-17, 07:03 AM
آخر رد: الماجيك مسعد
  كيف يمكن تثبيت رقم داخل مربع النص والنموذج فى وضع العرض السيد الجوهري 5 131 28-01-17, 02:25 AM
آخر رد: السيد الجوهري
  كيف يمكن تحريك مربعات النص على التقرير السيد الجوهري 3 131 27-01-17, 11:29 PM
آخر رد: السيد الجوهري
  التعديل الذي أقوم به في الفورم لا يظهر عند عمل RUN نسيم 10 423 23-01-17, 12:02 AM
آخر رد: aboyasneen
  [سؤال] كيف جمع عمود به قيمة فارغة يوجد مثال aboslah4u22 8 1,419 04-01-17, 12:48 PM
آخر رد: مساعدة

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


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