الحاسب الآلي · الصف الثالث الإعدادي · الترم الأول
صندوق القائمة ListBox وإضافة العناصر إليه
خصائص صندوق القائمة ListBox مثل Items وSelectedItem وSelectedIndex، وكيفية إضافة عناصر إليه وقراءة العنصر المختار بالكود.
آخر تحديث: · كيف نراجع المحتوى
معلومات الدرس
- المادة: الحاسب الآلي — حل المشكلات وبرمجة VB.NET
- الترم: الأول
- الفصل: الفصل الثالث: ضبط خصائص أدوات التحكم (Controls) — الموضوع: الخامس
المحتوى الرئيسي
مفهوم صندوق القائمة ListBox
صندوق القائمة (ListBox) هو أداة تحكم تعرض قائمة من العناصر تظهر جميعها (أو جزء منها مع شريط تمرير) في نفس الوقت، ويختار المستخدم منها عنصرًا واحدًا أو أكثر بالنقر عليه، بدلًا من كتابة النص يدويًّا كما في TextBox. تُستخدَم مثلًا لعرض قائمة بأسماء المدن، أو المواد الدراسية، أو أي مجموعة ثابتة من الخيارات.
الخاصية Items
تمثّل مجموعة العناصر (Collection) الظاهرة داخل القائمة. يمكن إضافة العناصر بطريقتين:
1- وقت التصميم: من نافذة الخصائص، بالضغط على زر ... أمام خاصية Items وكتابة كل عنصر في سطر منفصل داخل محرر المجموعة (Collection Editor).
2- بالكود وقت التشغيل: باستخدام التابع Add:
ListBox1.Items.Add("القاهرة")
ListBox1.Items.Add("الإسكندرية")
ListBox1.Items.Add("أسوان")
ولحذف عنصر أو إفراغ القائمة بالكامل:
ListBox1.Items.Remove("أسوان") ' حذف عنصر محدد
ListBox1.Items.Clear() ' حذف جميع العناصر
الخاصية SelectedItem
تحمل قيمة العنصر الذي اختاره المستخدم من القائمة (كنص):
Dim chosenCity As String
chosenCity = ListBox1.SelectedItem.ToString()
الخاصية SelectedIndex
تحمل رقم ترتيب العنصر المختار داخل القائمة، مع ملاحظة أن الترقيم يبدأ من صفر (فأول عنصر رقمه 0). إذا لم يختر المستخدم أي عنصر، تكون قيمة SelectedIndex تساوي -1:
If ListBox1.SelectedIndex = -1 Then
MsgBox("من فضلك اختر عنصرًا من القائمة")
End If
خصائص أخرى مهمة
- Sorted: خاصية منطقية؛ إذا كانت True تُرتَّب العناصر أبجديًّا تلقائيًّا.
- SelectionMode: تحدد إمكانية الاختيار المتعدد (
Oneاختيار واحد فقط،MultiSimpleأوMultiExtendedلاختيار أكثر من عنصر،Noneبلا اختيار). - MultiColumn: عرض العناصر في أكثر من عمود عند الحاجة.
- Name: الاسم البرمجي، مثل
lstCities.
حدث SelectedIndexChanged
ينفَّذ هذا الحدث عند تغيير اختيار المستخدم داخل القائمة:
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
Label1.Text = "اخترت: " & ListBox1.SelectedItem.ToString()
End Sub
النقاط الرئيسية
- ListBox أداة تعرض مجموعة عناصر يختار المستخدم منها بدلًا من الكتابة اليدوية.
- تضاف العناصر عبر خاصية Items، إما من نافذة الخصائص وقت التصميم أو بالتابع Add بالكود.
- SelectedItem تعيد قيمة العنصر المختار، بينما SelectedIndex تعيد رقم ترتيبه (يبدأ من صفر).
- عندما لا يكون هناك عنصر مختار، تكون قيمة SelectedIndex تساوي -1.
- Items.Clear() تحذف جميع عناصر القائمة، وItems.Remove() تحذف عنصرًا محددًا.
أسئلة للمراجعة
- اكتب كودًا يضيف ثلاث مواد دراسية إلى ListBox1: “حاسب آلي”، “رياضيات”، “علوم”.
- ما الفرق بين خاصيتَي SelectedItem وSelectedIndex؟
- ما القيمة التي تأخذها SelectedIndex عندما لا يختار المستخدم أي عنصر من القائمة؟
- اكتب كودًا يحذف كل العناصر الموجودة داخل ListBox1 عند الضغط على زر باسم btnClearList.
- اكتب معالج حدث SelectedIndexChanged يعرض في Label2 رسالة “تم اختيار: ” متبوعة باسم العنصر المختار.
الأهداف العامة
- أن يتعرف الطالب على أداة صندوق القائمة ListBox والغرض من استخدامها.
- أن يضيف الطالب عناصر إلى ListBox من نافذة الخصائص ومن الكود.
- أن يقرأ الطالب العنصر المختار من القائمة باستخدام SelectedItem وSelectedIndex.