الحاسب الآلي · الصف الثالث الإعدادي · الترم الأول
صندوق الاختيار CheckBox والفرق عن RadioButton
استخدام أداة CheckBox لإتاحة اختيارات متعددة مستقلة عن بعضها، وخاصية Checked، والفرق الجوهري بينها وبين RadioButton.
آخر تحديث: · كيف نراجع المحتوى
معلومات الدرس
- المادة: الحاسب الآلي — حل المشكلات وبرمجة VB.NET
- الترم: الأول
- الفصل: الفصل الثالث: ضبط خصائص أدوات التحكم (Controls) — الموضوع: التاسع
المحتوى الرئيسي
مفهوم صندوق الاختيار CheckBox
صندوق الاختيار (CheckBox) هو أداة تحكم تسمح للمستخدم باختيار عنصر واحد أو أكثر من عدة خيارات بصورة مستقلة عن بعضها، أي أن اختيار مربع لا يؤثر إطلاقًا على حالة بقية المربعات المجاورة له. يظهر الصندوق على شكل مربع صغير توضع بداخله علامة صح (✓) عند اختياره.
الفرق الجوهري بين CheckBox وRadioButton
| وجه المقارنة | RadioButton | CheckBox |
|---|---|---|
| عدد الاختيارات الممكنة من المجموعة | واحد فقط | واحد أو أكثر، أو لا شيء |
| العلاقة بين عناصر المجموعة | مترابطة (اختيار عنصر يلغي البقية) | مستقلة تمامًا عن بعضها |
| الشكل | دائرة | مربع |
| مثال استخدام | اختيار النوع (ذكر/أنثى) | اختيار الهوايات (قراءة، رياضة، رسم…) |
فبينما تفرض أزرار RadioButton قيدًا بأن يكون هناك بديل واحد فقط مختارًا من المجموعة، تسمح صناديق CheckBox للمستخدم باختيار أي عدد من الخيارات يناسبه، من صفر إلى كل الخيارات المتاحة.
الخاصية Checked
تحدد حالة اختيار الصندوق، وهي خاصية منطقية (Boolean): True تعني أن الصندوق مُعلَّم (مختار)، وFalse تعني أنه غير معلَّم.
قراءة حالة الاختيار:
If CheckBox1.Checked = True Then
total = total + 1
End If
ضبط حالة الاختيار بالكود:
CheckBox1.Checked = True
الخاصية CheckState (الحالة الثلاثية الاختيارية)
إذا ضُبطت خاصية ThreeState على True، تصبح خاصية CheckState قادرة على أخذ ثلاث قيم بدلًا من قيمتين فقط:
Unchecked: غير معلَّم.Checked: معلَّم بعلامة صح كاملة.Indeterminate: حالة وسيطة يظهر فيها الصندوق مظللًا (تُستخدَم مثلًا لتمثيل حالة “غير محدد” أو “جزئي”).
في الاستخدام المعتاد (بدون ThreeState)، يكفي التعامل مع خاصية Checked ذات القيمتين True/False فقط.
حدث CheckedChanged
ينفَّذ عند تغيّر حالة اختيار الصندوق (تعليمًا أو إلغاء تعليم):
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked Then
Label1.Text = "تمت إضافة الرياضة إلى هواياتك"
Else
Label1.Text = "تم إلغاء اختيار الرياضة"
End If
End Sub
خصائص أخرى مهمة
- Text: النص الظاهر بجانب المربع، مثل “رياضة” أو “قراءة”.
- Name: الاسم البرمجي، مثل
chkSports. - Enabled: تفعيل أو تعطيل الصندوق.
مثال تطبيقي متكامل
عد عدد الهوايات المختارة من بين ثلاثة صناديق اختيار عند الضغط على زر:
Private Sub btnShow_Click(sender As Object, e As EventArgs) Handles btnShow.Click
Dim count As Integer = 0
If CheckBox1.Checked Then count += 1
If CheckBox2.Checked Then count += 1
If CheckBox3.Checked Then count += 1
Label1.Text = "عدد الهوايات المختارة: " & count
End Sub
النقاط الرئيسية
- CheckBox يسمح للمستخدم باختيار أكثر من عنصر واحد بصورة مستقلة، بعكس RadioButton الذي يسمح باختيار واحد فقط.
- خاصية Checked (Boolean) تحدد حالة الاختيار: True معلَّم، False غير معلَّم.
- تفعيل خاصية ThreeState يضيف حالة ثالثة وسيطة (Indeterminate) عبر خاصية CheckState.
- اختيار أو إلغاء اختيار أحد صناديق CheckBox لا يؤثر إطلاقًا على بقية الصناديق المجاورة.
- حدث CheckedChanged ينفَّذ عند تغيّر حالة تعليم الصندوق.
أسئلة للمراجعة
- ما الفرق الجوهري بين أداتَي CheckBox وRadioButton؟
- اكتب سطر كود يتحقق من أن CheckBox2 معلَّم (مختار)، ويعرض رسالة في هذه الحالة.
- ما الحالات الثلاث التي يمكن أن تأخذها خاصية CheckState عندما تكون ThreeState مضبوطة على True؟
- اكتب كودًا يعد عدد صناديق الاختيار المعلَّمة من بين أربعة صناديق (CheckBox1 إلى CheckBox4) ويعرض العدد في Label1.
- اذكر مثالًا واقعيًّا واحدًا يُفضَّل فيه استخدام CheckBox بدلًا من RadioButton، ووضح السبب.
الأهداف العامة
- أن يتعرف الطالب على أداة صندوق الاختيار CheckBox والغرض من استخدامها.
- أن يوضح الطالب الفرق الجوهري بين CheckBox وRadioButton.
- أن يقرأ الطالب ويضبط خاصية Checked لأداة CheckBox بالكود.