كيف أعمل عدة أزار أوامر تحمل نفس الأسم ولكن تكون على شكل مصفوفة Index في 2003 كما هو الحال في الفيجوال بيسك 6
كيف يمكن عمل زر أمر يحمل نفس الأسم باستخدام Index في vb2003
مغلق
لإنشاء مصفوفة مكونة من10 ازرار.. مع ملاحظة أن العد يبدأ من صفر:
'لإنشاء مصفوفة مكونة من10 ازرار.. مع ملاحظة أن العد يبدأ من صفر Dim Buttons(9) As Button
حتى الان أنشأنا مصفوفة أزرار.. لكنها فراغة.. ولملأها اليك الطريقة:
'ملأ المصفوفة For Count As Integer = 0 To Buttons.Length - 1 Buttons(Count) = New Button Next
بعد ذلك.. نغير الخصائص.. فلنغير خصائص الزر الخامس مثلا.. مع ملاحظة أن العد يبدأ من صفر:
' 'لتغيير خصائص زر.. الزر الخامس مثلا.. مع ملاحظة أن العد يبدأ من الصفر ' 'الاسم Buttons(4).Name = "MyButton" 'النص Buttons(4).Text = "M0oATH" 'الموقع Buttons(4).Location = New System.Drawing.Point(100, 100) 'الحجم Buttons(4).Size = New System.Drawing.Size(75, 23) 'اضافة الزر الى مجموعة الأدوات التابعة لهذه الفورم Me.Controls.Add(Buttons(4))
هناك طريقة أخرى للوصول الى الأداة.. وهي عن طريق عمل For Each .. للخاصية Controls التابعة للفورم:
'متغير من نوع كنترول Dim MyControl As Control 'عمل لووب على جميع أدوات الفورم For Each MyControl In Me.Controls 'التحقق من اسم الأداة If MyControl.Name = "MyButton" Then 'اذا كان اسم الأداة MuButton.. فسيتم ازالتها MyControl.Dispose() End If
هذه الطريقة بواسطة الفيجوال بيسك 2005.. لكن لا أظن أن هناك فرقا.. أليك المثال واذا أردت تشغيله.. فإن هناك عدة طرق تجدها في هذا المنتدى المبارك.. أرجو أن يكون هذا ما قصدته من سؤالك.. وبالتوفيق ان شاء الله
هذا الموضوع مغلق.