تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تعطيل جميع الأدوات داخل GroupBox باستثناء واحدة
#1
Exclamation 
السلام عليكم

من اجل الاستعداد في تنفيذ اجزاء اخرى من المشروع الاساسي
تم تكليفي بعمل كود يقوم بالتالي:
توجد أداة GroupBox وفيها مجموعة أدوات
المطلوب تعطيل كل الأدوات التي بداخلها باستثناء تكست بوكس معين مع الليبل الخاص بها

قمت بعمل مشروع تجربه ولكن لم اتمكن من عملها بالشكل الصحيح

مشروع التجربة:
لدي GroupBox1 وفيه مجموعة من الأدوات وهي
Label1 مع TextBox1
Label2 مع TextBox2
Label3 مع TextBox3
Button1 لتعطيل كل الأدوات داخل GroupBox1 باستثناء Label2 وTextBox2 على سبيل المثال
Button2 لتفعيل كل الأدوات داخل GroupBox1

عند عمل الكود اتضح انه يعطل كل شيء حتى الفورم
صراحة اصابني بالارتباك وسأحرج من زملائي لو طلبوا مني وضع الكود قبل حل مشكلته

هذا هود الكود
كود :
Public Class Form1

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      DisableGroupBox
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
      EnableGroupBox
   End Sub

   Private Sub DisableGroupBox()
       For Each c As Control In GroupBox1.Controls
           If c IsNot TextBox2 And c IsNot Label2 Then
               Enabled = False
           End If
       Next
   End Sub

   Private Sub EnableGroupBox()
       For Each c As Control In GroupBox1.Controls
           Enabled = True
       Next
   End Sub

End Class


وشكرا لكم

اصدقائي حسب ترتيب ظهورهم في مواضيعي:
baha
ابراهيم ايبو
سعود
Rabeea Qbaha
اسامه الهرماوي
الرد
تم الشكر بواسطة: ابراهيم ايبو , baha , baha
#2
أرجو أن لا يكون رفعي للموضوع مخالفة

اصدقائي حسب ترتيب ظهورهم في مواضيعي:
baha
ابراهيم ايبو
سعود
Rabeea Qbaha
اسامه الهرماوي
الرد
تم الشكر بواسطة: ابراهيم ايبو
#3
وعليكم السلام ورحمة الله وبركاته

كل ماعليك هو إضافة حرف c قبل الخاصية ليتم تحديد أي كائن تريد تعطيله

كود :
 c.Enabled = False
           
الرد
تم الشكر بواسطة: سميـر , ابراهيم ايبو , asemshahen5
#4
السلام عليكم ورحمة الله وبركاته

هل تريد تعطيل يعني تصبح ReadOnly او Enable=false ام انك تريد تدمير العناصر? 
تدمير العناصر لايمكن اعادتها الا باعادة التشغيل او بكود جديد لانشائها 
اما Enable=false فيمكن تغيير قيمتها الى true وبالنسبة ل label 
فهي لاتحتاج الى تعظيل وتفعيل ارجو الايضاح ليصار الى كتابة الكود المناسب
الرد
#5
أشكرك صديقي baha

لقد لفت نظري لنقص في الكود وهو عدم وجود .c قبل كلمة Enabled
فعند إضافتها عمل الكود بالشكل المطلوب

أشكرك جزيل الشكر

الكود بعد التعديل
كود :
Public Class Form1

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     DisableGroupBox
  End Sub

  Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     EnableGroupBox
  End Sub

  Private Sub DisableGroupBox()
      For Each c As Control In GroupBox1.Controls
          If c IsNot TextBox2 And c IsNot Label2 Then
              c.Enabled = False
          End If
      Next
  End Sub

  Private Sub EnableGroupBox()
      For Each c As Control In GroupBox1.Controls
          c.Enabled = True
      Next
  End Sub

End Class



أشكرك صديقي ابراهيم ايبو
كان الطلب في التفعيل Enabled فقط وتم عمل المطلوب بإضافة .c قبل كلمة Enabeld في الكود

أشكرك جزيل الشكر على المتابعة المعهودة منك

اصدقائي حسب ترتيب ظهورهم في مواضيعي:
baha
ابراهيم ايبو
سعود
Rabeea Qbaha
اسامه الهرماوي
الرد
تم الشكر بواسطة: baha , ابراهيم ايبو , asemshahen5
#6
(23-08-19, 05:57 PM)ابراهيم ايبو كتب :
السلام عليكم ورحمة الله وبركاته

هل تريد تعطيل يعني تصبح ReadOnly او Enable=false ام انك تريد تدمير العناصر? 
تدمير العناصر لايمكن اعادتها الا باعادة التشغيل او بكود جديد لانشائها 
اما Enable=false فيمكن تغيير قيمتها الى true وبالنسبة ل label 
فهي لاتحتاج الى تعظيل وتفعيل ارجو الايضاح ليصار الى كتابة الكود المناسب

هل يمكن تدمير أي كائن كمربع النص مثلاً؟
أي استخدام نفس الإسم بعد التدمير لكائن آخر
الرد
تم الشكر بواسطة: سميـر
#7
السلام عليكم اخي baha
نعم يمكن تدمير أي عنصر ثم انشاء عنصر جديد يحمل نفس الاسم ولكن يفضل اسم أخر
اليك الاكواد الاول تدمير والثاني انشاء طبعا بالنسبة للقياس والتموضع ضع نفس القيم للعنصر المدمر استبدل ماكتبته من تموضع 

كود :
' تدمير عنصر
   Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
     
       TextBox1.Dispose()
   End Sub
   ' انشاء عنصر
   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
   
       Dim tex As New TextBox()

       GroupBox1.Controls.Add(tex)
       tex.Name = "TextBox1"
       tex.Text = "hello"
       tex.Location = New Point(100, 40)
   End Sub
الرد
تم الشكر بواسطة: baha , عبد العزيز البسكري , asemshahen5 , سميـر
#8
وعليكم السلام ورحمة الله وبركاته

مشكور أخي  [b]ابراهيم ايبو[/b] على هذه المعلومة







تمنياتي لك وللجميع التوفيق
الرد
#9
الحمد لله والشكر لله 
ولكما اخوي Baha وسمير
الرد
تم الشكر بواسطة: baha , سميـر


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] التجول داخل الداتا جريد فيو Osama Bayoumy 1 97 26-09-19, 03:53 AM
آخر رد: اسامه الهرماوي
  كود من اجل فتح وعرض قائمة cmd من داخل الفورم elskary2010 3 135 23-09-19, 09:48 PM
آخر رد: elskary2010
Exclamation [سؤال] كيف اشغل برنامجي على جميع الفريموروك mudz 37 28,435 21-09-19, 09:45 PM
آخر رد: khairallah
  [VB.NET] عمل البرنامج على جميع نسخ الوندوز ونسخ الاوفس EMAD268716 2 127 20-09-19, 05:13 AM
آخر رد: ابراهيم ايبو
  [VB.NET] عدم تحميل البيانات داخل النموذج في حال كانت احدى الحقول فارغة khairallah 2 126 19-09-19, 08:34 PM
آخر رد: khairallah
  [VB.NET] تنصيب البرنامج على جميع نسخ وندوز EMAD5577 1 112 13-09-19, 01:38 AM
آخر رد: ابراهيم ايبو
  [VB.NET] عرض ملفات pdf داخل الفورم بصورة مصغرة "Template" سعيد كنيمو 1 130 30-08-19, 12:03 AM
آخر رد: asemshahen5
  [سؤال] احتاج مساعدة في جلب نص من رابط صفحة داخل webrowser dametucorazon 7 259 25-08-19, 11:22 PM
آخر رد: dametucorazon
  [VB.NET] مشكلة فى اظهار فورم داخل فورم اخر باداة Panel eslame elgohary 26 815 21-08-19, 06:30 PM
آخر رد: viv
  [سؤال] سؤال حول الحصول على نص من صحفة ويب داخل Class dametucorazon 8 345 12-08-19, 05:01 AM
آخر رد: dametucorazon

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


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