الحاسب الآلي · الصف الثالث الإعدادي · الترم الأول
صندوق التحرير والسرد ComboBox والفرق بينه وبين ListBox
التعرف على أداة ComboBox وخصائصها، والفرق الجوهري بينها وبين ListBox من حيث المساحة وطريقة العرض وإمكانية الكتابة.
آخر تحديث: · كيف نراجع المحتوى
معلومات الدرس
- المادة: الحاسب الآلي — حل المشكلات وبرمجة VB.NET
- الترم: الأول
- الفصل: الفصل الثالث: ضبط خصائص أدوات التحكم (Controls) — الموضوع: السادس
المحتوى الرئيسي
مفهوم صندوق التحرير والسرد ComboBox
صندوق التحرير والسرد (ComboBox) هو أداة تحكم تجمع بين خصائص TextBox وListBox في أداة واحدة؛ فهو يعرض قائمة منسدلة من العناصر لا تظهر كاملة إلا عند الضغط على السهم الجانبي، وقد يسمح أيضًا للمستخدم بكتابة قيمة غير موجودة بالقائمة حسب نمط العرض المختار.
الفرق بين ComboBox وListBox
| وجه المقارنة | ListBox | ComboBox |
|---|---|---|
| طريقة العرض | تظهر كل العناصر (أو جزء منها بشريط تمرير) دائمًا | تظهر القائمة فقط عند الضغط على السهم (منسدلة) |
| المساحة المستغلة | أكبر على الواجهة | أصغر بكثير، توفّر مساحة |
| إمكانية الكتابة | لا يمكن كتابة قيمة جديدة | يمكن السماح بالكتابة حسب DropDownStyle |
| الاختيار المتعدد | ممكن عبر SelectionMode | غير متاح؛ اختيار عنصر واحد فقط |
الخاصية DropDownStyle
تحدد نمط عمل الصندوق، ولها ثلاث قيم رئيسية:
- Simple: تظهر القائمة كاملة دائمًا مثل ListBox، مع إمكانية الكتابة في الجزء العلوي.
- DropDown (الافتراضية): قائمة منسدلة، ويمكن للمستخدم أيضًا كتابة نص غير موجود بالقائمة.
- DropDownList: قائمة منسدلة، لكن لا يمكن للمستخدم كتابة أي نص؛ يجب عليه الاختيار من العناصر الموجودة فقط.
الخاصية Items
مثل ListBox تمامًا، تمثّل مجموعة العناصر الظاهرة في القائمة، وتُضاف بنفس الطريقة:
ComboBox1.Items.Add("الأول الإعدادي")
ComboBox1.Items.Add("الثاني الإعدادي")
ComboBox1.Items.Add("الثالث الإعدادي")
الخاصيتان SelectedItem وSelectedIndex
تعملان بنفس منطق ListBox تمامًا: SelectedItem تعيد قيمة العنصر المختار، وSelectedIndex تعيد رقم ترتيبه (يبدأ من صفر، وتكون -1 إذا لم يُختَر شيء):
Dim gradeChosen As String
gradeChosen = ComboBox1.SelectedItem.ToString()
الخاصية Text
في ComboBox، تحمل خاصية Text القيمة الظاهرة حاليًّا في الصندوق، سواء كانت مختارة من القائمة أو مكتوبة يدويًّا (في حالة DropDownStyle = DropDown):
ComboBox1.Text = "الثالث الإعدادي"
خصائص أخرى مهمة
- Sorted: ترتيب العناصر أبجديًّا تلقائيًّا (Boolean).
- Name: الاسم البرمجي، مثل
cboGrade.
النقاط الرئيسية
- ComboBox يعرض قائمة منسدلة توفّر مساحة على الواجهة، بعكس ListBox الذي يعرض كل العناصر دائمًا.
- خاصية DropDownStyle تحدد هل يستطيع المستخدم كتابة نص جديد (DropDown) أم يقتصر على الاختيار فقط (DropDownList).
- تُضاف العناصر إلى ComboBox بنفس طريقة ListBox عبر Items.Add.
- SelectedItem وSelectedIndex تُستخدَمان بنفس المنطق المستخدَم في ListBox.
- ComboBox لا يدعم الاختيار المتعدد، بخلاف ListBox.
أسئلة للمراجعة
- اذكر فرقين جوهريين بين ComboBox وListBox.
- ما القيمة التي تضبطها لخاصية DropDownStyle لمنع المستخدم من كتابة أي نص جديد؟
- اكتب كودًا يضيف ثلاثة أيام دراسية إلى ComboBox1: “السبت”، “الأحد”، “الاثنين”.
- اكتب سطر كود يقرأ القيمة المختارة حاليًّا من ComboBox1 ويخزنها في متغير نصي.
- لماذا يُفضَّل استخدام ComboBox بدلًا من ListBox عندما تكون مساحة الواجهة محدودة؟
الأهداف العامة
- أن يتعرف الطالب على أداة صندوق التحرير والسرد ComboBox والغرض من استخدامها.
- أن يفرّق الطالب بين ComboBox وListBox من حيث الشكل والاستخدام.
- أن يضبط الطالب خصائص ComboBox الأساسية ويتعامل معها بالكود.