منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ (/showthread.php?tid=7192)



سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - عبد الله - 30-11-12

السلام عليكم ورحمة الله وبركاته ،،

وفقنا الله لكل خير إخواني الأعزاء ..

لدي الكثير من أدوات CheckBox ، ولدي رقم معين متغير في كثير من الأحوال كيف استطيع التوفيق في حالة أنه اذا كان الرقم 5 يتم عرض فقط 5 أدوات CheckBox وإذا تغير الرقم إلى 10 يتم عرض 10 أدوات وإذا تغير إلى 2 يتم عرض 2 أداة فقط والبقية تختفي ؟

استطيع ان اكتب شفرة لحل هذه المشكلة بحيث تكون عبارة عن أسطر كثيرة جداً بطريقة بدائية لكن أريد أن تكون الشفرة ذو مرونة وأريد ان اتعلم هذه المرونة فهل من طريقة مبتكرة لمثل هذا الأمر.

علماً أن CheckBox مسمياتهم متتالية 1و2و3و4و5و6 ..الخ


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - Aly El-Haddad - 01-12-12

السلام عليكم،
أخي يمكنك أستخدام أداة CheckedListBox


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - sooriaty03 - 01-12-12

أخي الكريم
تستطيع أن تقوم بتعريف مصفوفة من نوع CheckBox
وتقوم بتحديد العناصر فيها حسب العدد المطلوب


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - عبد الله - 01-12-12

Aly El-Haddad كتب :السلام عليكم،
أخي يمكنك أستخدام أداة CheckedListBox
سأجعلها خيار لاحق ،،

sooriaty03 كتب :أخي الكريم
تستطيع أن تقوم بتعريف مصفوفة من نوع CheckBox
وتقوم بتحديد العناصر فيها حسب العدد المطلوب
حاولت ولم أفلح ربما لأني لم اكتب الشفرات بصيغة صحيحة ..

الآن عندما أكتب هذا الصيغة : Dim checkbox() As CheckBox

ولدي متغير يحمل الرقم 4 ,, Dim x as Integer = 4

ولدي حوال 10 CheckBox على النموذج ،، عندما يتم تحميل النموذج كيف لي أن أخفي آخر 6 CheckBox من النموذج بناءاً على المتغير x


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - sooriaty03 - 01-12-12

أخي الكريم
في البداية نقوم بتعريف مصفوفة في قسم التصريحات العام
كما يلي :
كود :
Public Class Form1
    Dim CheckList As New List(Of CheckBox)
    '
    '
End Class

وبعدها نقوم بإضافة أدوات Checkbox إليها في حدث Form_Load بهذه الطريقة

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each CHBOX In Me.Controls.OfType(Of CheckBox).Reverse
            CheckList.Add(CHBOX)
        Next
    End Sub

وأخيرا في حدث TextBox1_TextChanged نكتب التالي

كود :
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        For I = 0 To CheckList.Count - 1
            If I < TextBox1.Text Then
                CheckList.Item(I).Visible = True
            Else
                CheckList.Item(I).Visible = False
            End If
        Next
    End Sub

طبعا الكود الأخير أنت مخير في مكان وضعه ليس شرطا أن يكون داخل حدث TextBox1_TextChanged

وهذا الكود بالكامل
كود :
Public Class Form1
    Dim CheckList As New List(Of CheckBox)
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each CHBOX In Me.Controls.OfType(Of CheckBox).Reverse
            CheckList.Add(CHBOX)
        Next
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        For I = 0 To CheckList.Count - 1
            If I < TextBox1.Text Then
                CheckList.Item(I).Visible = True
            Else
                CheckList.Item(I).Visible = False
            End If
        Next
    End Sub
End Class
بالتوفيق


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - Aly El-Haddad - 01-12-12

حسناً، ما دمت مصمم على أستخدام المصفوفة فإليك ما تريد بالمرفقات :p


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - Aly El-Haddad - 01-12-12

sooriaty03 كتب :أخي الكريم
في البداية نقوم بتعريف مصفوفة في قسم التصريحات العام
كما يلي :
كود :
Public Class Form1
    Dim CheckList As New List(Of CheckBox)
    '
    '
End Class

وبعدها نقوم بإضافة أدوات Checkbox إليها في حدث Form_Load بهذه الطريقة

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each CHBOX In Me.Controls.OfType(Of CheckBox).Reverse
            CheckList.Add(CHBOX)
        Next
    End Sub

وأخيرا في حدث TextBox1_TextChanged نكتب التالي

كود :
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        For I = 0 To CheckList.Count - 1
            If I < TextBox1.Text Then
                CheckList.Item(I).Visible = True
            Else
                CheckList.Item(I).Visible = False
            End If
        Next
    End Sub

طبعا الكود الأخير أنت مخير في مكان وضعه ليس شرطا أن يكون داخل حدث TextBox1_TextChanged

وهذا الكود بالكامل
كود :
Public Class Form1
    Dim CheckList As New List(Of CheckBox)
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each CHBOX In Me.Controls.OfType(Of CheckBox).Reverse
            CheckList.Add(CHBOX)
        Next
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        For I = 0 To CheckList.Count - 1
            If I < TextBox1.Text Then
                CheckList.Item(I).Visible = True
            Else
                CheckList.Item(I).Visible = False
            End If
        Next
    End Sub
End Class
بالتوفيق

عفواً أخي sooriaty03 لم أنتبه لمشاركتك


سؤال: كيف أخفي بعض الأدوات عن طريقة معرفة رقم معين ؟ - sooriaty03 - 01-12-12

Aly El-Haddad كتب :عفواً أخي sooriaty03 لم أنتبه لمشاركتك
لا يا أخي الكريم
إضافتك لهذه المشاركة فيه إثراء للموضوع
شكرا لك