كومبو VB.NetBox التحكم بالمثال

⚡ ملخص ذكي

كومبوBox في VB.Net هو Windows عنصر تحكم في النماذج يجمع بين مربع نص وقائمة منسدلة، مما يسمح للمستخدم باختيار عنصر واحد أو كتابة عنصر واحد، مما يوفر مساحة في النموذج.

  • 🎯 الغرض: اعرض قائمة منسدلة حيث يختار المستخدم قيمة واحدة أو يكتبها.
  • ➕ إضافة عناصر: قم بتعبئة مربع التحرير والسرد في نافذة الخصائص أو باستخدام Items.Add في وقت التشغيل.
  • 🔍 اقرأ المختارات التالية: تقوم الدوال SelectedItem و SelectedIndex و Text بإرجاع القيمة التي اختارها المستخدم.
  • 🗄️ ربط البيانات: قم بتعيين DataSource و DisplayMember و ValueMember لتحميل الصفوف من مجموعة البيانات.
  • 🔔 اكتشاف التغييرات: يتم تشغيل حدث SelectedIndexChanged كلما تغير العنصر المحدد.
  • 🤖 مساعدة الذكاء الاصطناعي: GitHub Copilot و Visual Studio IntelliCode اكتب كومبوBox يتم التعامل مع هذه المشكلة أثناء الكتابة.

كومبو VB.NetBox السيطرة

ما هو Combobox Control؟

يساعدك عنصر التحكم في المربع المنسدل على عرض قائمة منسدلة تحتوي على العديد من العناصر. يمكنك اعتباره مزيجًا من مربع نص يقوم المستخدم بإدخال نص فيه وقائمة منسدلة يختار المستخدم منها عنصرًا. لاحظ أن المربع المنسدل يعرض عنصرًا واحدًا في كل مرة.

إنشاء مربع التحرير والسرد

كومبوBox يمكن إنشاؤها على النحو التالي:

الخطوة 1) إنشاء تطبيق جديد.

الخطوة 2) اسحب عنصر تحكم مربع التحرير والسرد من صندوق الأدوات إلى النموذج.

تم سحب عنصر تحكم مربع التحرير والسرد VB.Net من صندوق الأدوات إلى Windows شكل

لقد قمت بإنشاء عنصر تحكم مربع المجموعة.

إضافة عناصر إلى Combobox

الآن بعد أن قمنا بإنشاء صندوق المجموعة، دعنا نوضح لك كيفية إضافة العناصر إليه.

Double انقر فوق عنصر التحكم في المربع المنسدل الذي أضفته. سيتم نقلك من علامة التبويب "التصميم" إلى علامة التبويب التي تحتوي على الكود.

لإضافة عنصر إلى عنصر تحكم مربع المجموعة، نستخدم خاصية العناصر. دعنا نوضح ذلك بإضافة عنصرين إلى مربع المجموعة، ذكر وأنثى:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

يمكننا أيضًا اختيار إضافة عناصر إلى المربع المنسدل في وقت التصميم من نافذة "الخصائص". وفيما يلي الخطوات:

الخطوة 1) افتح علامة تبويب التصميم وانقر فوق عنصر تحكم مربع التحرير والسرد.

الخطوة 2) انتقل إلى نافذة الخصائص واعرض خيار العناصر.

الخطوة 3) انقر فوق … الموجودة على يمين (المجموعة).

إضافة عناصر إلى مربع التحرير والسرد في VB.Net باستخدام طريقة Items.Add

نافذة خصائص VB.Net تفتح مربع التحرير والسرد محرر مجموعة العناصر

الخطوة الرابعة) ستظهر لك نافذة جديدة. هنا يمكنك إضافة العناصر إلى القائمة المنسدلة، كما هو موضح أدناه:

محرر مجموعة السلاسل يعرض عناصر مربع التحرير والسرد للذكور والإناث

الخطوة 5) بمجرد الانتهاء من typing بعد تحديد العناصر، انقر فوق زر "موافق".

الخطوة 6) انقر فوق زر البدء من شريط الأدوات العلوي وانقر فوق رمز القائمة المنسدلة في مربع التحرير والسرد.

مربع التحرير والسرد في VB.Net يعرض "ذكر" كعنصر افتراضي أثناء التشغيل

تمت إضافة العناصر إلى عنصر التحكم combobox بنجاح.

تحديد عناصر المجموعة المنسدلة

قد تحتاج إلى تعيين العنصر الافتراضي الذي سيتم تحديده عند تحميل النموذج. يمكنك تحقيق ذلك عبر طريقة SelectedItem(). على سبيل المثال، لتعيين الجنس الافتراضي المحدد إلى ذكر، يمكنك استخدام العبارة التالية:

ComboBox1.SelectedItem = "Male"

عند تشغيل الكود، يجب أن يكون عنصر التحكم في المربع المنسدل كما هو موضح أدناه:

نموذج VB.Net يعرض مربع التحرير والسرد مع خياري ذكر وأنثى

استرجاع قيم المجموعة المنسدلة

يمكنك الحصول على العنصر المحدد من قائمة الاختيار. يتم ذلك باستخدام خاصية النص. لنوضح ذلك باستخدام قائمة الاختيار أعلاه التي تحتوي على عنصرين، وهما: ذكر وأنثى. اتبع الخطوات الموضحة أدناه:

الخطوة 1) Double انقر على مربع التحرير والسرد لفتح علامة التبويب التي تحتوي على كود VB.Net.

الخطوة الثانية) أضف الكود التالي:

Public Class Form1
    Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim var_gender As String

        var_gender = ComboBox1.Text

        MessageBox.Show(var_gender)
		
    End Sub
End Class

الخطوة 3) انقر على زر "ابدأ" من شريط الأدوات لتنفيذ الكود. ستظهر لك النافذة التالية:

Code لقطة شاشة لمعالج حدث SelectedIndexChanged في مربع التحرير والسرد VB.Net

الخطوة الرابعة) انقر على زر القائمة المنسدلة واختر جنسك. في حالتي، اخترت ذكر، وحصلت على ما يلي:

مربع رسالة في VB.Net يعرض نص العنصر المحدد في مربع التحرير والسرد: ذكر

فيما يلي لقطة شاشة للكود:

شرح Code:

  1. إنشاء فئة تسمى Form1. سيكون الفصل متاحًا للعامة نظرًا لأنه تم ضبط معدّل الوصول الخاص به على "عام".
  2. بدء إجراء فرعي باسم ComboBox1_SelectedIndexChanged. يتم إنشاء هذا الحدث تلقائيًا عند النقر المزدوج على عنصر تحكم مربع التحرير والسرد من علامة تبويب التصميم. سيتم استدعاء هذا الإجراء الفرعي عند تحديد عنصر من مربع التحرير والسرد. يشير sd As Object إلى الكائن الذي أطلق الحدث، بينما يحتوي event As EventArgs على بيانات الحدث.
  3. إنشاء متغير نصي باسم var_gender.
  4. تعيين قيمة المتغير var_gender إلى العنصر المحدد في المجموعة المنسدلة.
  5. طباعة قيمة المتغير var_gender على رسالةBox.
  6. نهاية الكومبوBox1_SelectedIndexChanged الإجراء الفرعي.
  7. نهاية فئة Form1.

إزالة عناصر Combobox

من الممكن أن تقوم بإزالة عنصر من مربع التحرير والسرد الخاص بك. هناك طريقتان يمكنك من خلالهما إنجاز ذلك. يمكنك استخدام فهرس العنصر أو اسم العنصر.

عند استخدام فهرس العناصر، يجب عليك استخدام الخاصية Items.RemoveAt() كما هو موضح أدناه:

ComboBox1.Items.RemoveAt(1)

في المثال أعلاه، نقوم بإزالة العنصر الموجود عند الفهرس 1 من مربع التحرير والسرد. لاحظ أن فهرس مربع التحرير والسرد يبدأ عند الفهرس 0، مما يعني أن الأمر أعلاه سيزيل العنصر الثاني من مربع التحرير والسرد.

لإزالة العنصر باستخدام اسمه، يجب عليك استخدام خاصية Items.Remove() كما هو موضح أدناه:

ComboBox1.Items.Remove("Female")

يجب أن يزيل الكود أعلاه العنصر المسمى Female من التحرير والسردBox1.

ربط مصدر البيانات

كومبوBox يمكن ملؤها من مجموعة البيانات. خذ بعين الاعتبار استعلام SQL الوارد أدناه:

select emp_id, emp_name from employees; 

يمكنك إنشاء مصدر بيانات في برنامج ثم استخدام الكود التالي لربطه:

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

سيوفر لك هذا طريقة سهلة لملء عنصر التحكم في المربع المنسدل بالبيانات دون الحاجة إلى كتابة كل عنصر على حدة.

حدث SelectedIndexChanged

غالباً ما سترغب في أن يتفاعل برنامجك في اللحظة التي يختار فيها المستخدم قيمة جديدة.

يتم استدعاء هذا النوع من الأحداث عند تغيير العنصر المحدد في مربع التحرير والسرد الخاص بك. وهو الحدث الذي يجب عليك استخدامه عندما تحتاج إلى تنفيذ إجراء عند إجراء تغيير على العنصر المحدد في مربع التحرير والسرد. دعنا نوضح ذلك باستخدام مثال:

الخطوة 1) إنشاء جديد Windows تطبيق النماذج.

الخطوة 2) بعد ذلك، تحتاج إلى سحب وإفلات عنصرين من عناصر التحكم في مربع التحرير والسرد في النموذج.

عنصران تحكم من نوع ComboBox موضوعان جنبًا إلى جنب في VB.Net Windows شكل

الخطوة 3) Double انقر داخل النموذج لفتح علامة التبويب الخاصة بالكود. أدخل الكود التالي:

Public Class Form1
    Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load

        ComboBox1.Items.Add("Males")

        ComboBox1.Items.Add("Females")

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        ComboBox2.Items.Clear()

        If ComboBox1.SelectedItem = "Males" Then

            ComboBox2.Items.Add("Nicholas")

            ComboBox2.Items.Add("John")

        ElseIf ComboBox1.SelectedItem = "Females" Then

            ComboBox2.Items.Add("Alice")

            ComboBox2.Items.Add("Grace")

        End If
    End Sub
End Class

الخطوة الرابعة) انقر على زر "ابدأ" من الشريط العلوي لتشغيل الكود. يجب أن تحصل على المخرجات التالية:

يتم ملء أول مربع تحرير وسرد بالذكور والإناث عند تحميل النموذج

الخطوة 5) انقر على زر القائمة المنسدلة في مربع التحرير والسرد الأول واختر "ذكر". حرك مؤشر الماوس إلى مربع التحرير والسرد الثاني وانقر على زر القائمة المنسدلة فيه. ستظهر لك العناصر المتاحة.

مربع التحرير والسرد الثاني الذي يعرض نيكولاس وجون بعد تحديد الذكور

الخطوة 6) انتقل إلى مربع التحرير والسرد الأول واختر أنثىانتقل إلى القائمة المنسدلة الثانية واطلع على العناصر المتاحة:

يتم تحديد مربع التحرير والسرد الثاني الذي يعرض أليس وغريس بعد الإناث

فيما يلي لقطة شاشة للكود:

Code لقطة شاشة لمعالج حدث SelectedIndexChanged الخاص بمربع التحرير والسرد المزدوج في VB.Net

شرح Code:

  1. إنشاء فئة تسمى Form1.
  2. بداية إجراء فرعي باسم Form1_Load(). سيتم تشغيل هذا الإجراء بمجرد تحميل النموذج. يشير sd As Object إلى الكائن الذي أطلق الحدث، بينما يحتوي event As EventArgs على بيانات الحدث.
  3. إضافة العنصر الذكور إلى التحرير والسردBox1.
  4. إضافة العنصر الإناث إلى التحرير والسردBox1.
  5. نهاية الإجراء الفرعي Form1_Load().
  6. بدء إجراء فرعي يسمى ComboBox1_SelectedIndexChanged(). سيتم استدعاء هذا عند تحديد عنصر في المربع المنسدل الأول. يشير المرسل As Object إلى الكائن الذي أثار الحدث بينما يحتوي e As EventArgs على بيانات الحدث.
  7. اصنع كومبوBox2 فارغة، مسح كافة العناصر منه.
  8. خلق شرط. التحقق مما إذا كان العنصر المحدد موجودًا في ComboBox1 هو ذكور.
  9. أضف العنصر نيكولاس إلى التحرير والسردBox2 عندما يكون الشرط أعلاه صحيحًا، أي يتم تحديد العنصر في ComboBox1 ذكر.
  10. أضف العنصر جون إلى التحرير والسردBox2 عندما يكون الشرط أعلاه صحيحًا، أي يتم تحديد العنصر في ComboBox1 هو ذكور.
  11. خلق شرط. التحقق مما إذا كان العنصر المحدد موجودًا في ComboBox1 إناث.
  12. أضف العنصر Alice إلى التحرير والسردBox2 عندما يكون الشرط أعلاه صحيحًا، أي يتم تحديد العنصر في ComboBox1 إناث.
  13. أضف العنصر Grace إلى التحرير والسردBox2 عندما يكون الشرط أعلاه صحيحًا، أي يتم تحديد العنصر في ComboBox1 إناث.
  14. نهاية كتلة If.
  15. نهاية الكومبوBox1_SelectedIndexChanged() الإجراء الفرعي.
  16. نهاية الفصل الدراسي 1.

الأسئلة الشائعة

كومبوBox يوفر مساحةً بإخفاء القائمة حتى يتم النقر على السهم، ويمكنه قبول الإدخال النصي. قائمةBox يعرض جميع العناصر دفعة واحدة ولا يسمح إلا بالاختيار.

يحدد DropDownStyle السلوك: يسمح DropDown (الافتراضي) للمستخدم بكتابة نص حر؛ ويقيد DropDownList الإدخال بالعناصر الموجودة في القائمة؛ ويبقي Simple القائمة مفتوحة في جميع الأوقات.

تُرجع الدالة SelectedIndex الموضع الذي يبدأ من الصفر، وتُرجع الدالة SelectedItem الكائن المرتبط بهذا الصف، وتُرجع الدالة Text السلسلة النصية الموجودة في مربع التحرير، بما في ذلك النص الذي كتبه المستخدم.

مكالمة كومبوBox1. استخدم Items.Clear() لتفريغ القائمة. ولإعادة ضبط النص المعروض في مربع التحرير، اتبع ذلك بـ ComboBox1. SelectedIndex = -1 أو تعيين ComboBox1. النص = سلسلة فارغة.

قم بتعيين خاصية DropDownStyle إلى DropDownList في نافذة الخصائص أو في التعليمات البرمجية (Combo)Box1. نمط القائمة المنسدلة = كومبوBoxStyle.DropDownList). يمكن للمستخدم حينها اختيار العناصر الموجودة بالفعل في القائمة فقط.

يتم تشغيل حدث TextChanged أثناء قيام المستخدم بتحرير جزء مربع النص. أما حدث SelectedIndexChanged فيتم تشغيله فقط عند تغيير العنصر المميز في القائمة المنسدلة، سواءً كان ذلك عن طريق الماوس أو لوحة المفاتيح أو التعليمات البرمجية.

نعم. مساعد الطيار جيثب يحوّل هذا الكود تعليقًا مكتوبًا باللغة الإنجليزية البسيطة إلى كتلة SelectedIndexChanged أو DataBindings كاملة. يُرجى مراجعة الكود المُنشأ دائمًا قبل النشر.ping.

نعم. يجمع Visual Studio 2026 بين Copilot و ذكاءCode لإكمال الأسطر الكاملة والواعية بالسياق لـ ComboBox الخصائص والأحداث.

تلخيص هذه التدوينة بـ: