لتعامل أسهل مع ComboBox وListBox
قد يحلو للبعض استخدام DisplayMember و ValueMember عند ملئ القوائم ولكن يجب استخدام نوع من أنواع كائنات البيانات DataSources
وقد تكون العملية مملة بعض الشيء اذا لم يكن في البرنامج اتصال مع قاعدة بيانات لاستخدامها في DataSource أو تكوين DataTable لتخزيين القيم داخلها
لحل هذه المشكلة تابع معي:
سنقوم بعمل كلاس لتخزين اسم وقيمة عنصر القائمة
Public Class ListItem Public Name As Object Public Value As Object Public Sub New(ByVal Name As Object, ByVal Value As Object) Me.Name = Name Me.Value = Value End Sub Public Overrides Function ToString() As String Return CStr(Name) End Function End Class
الاستخدام عند وضع قيمة
Dim MyItem as New ListItem("Arab Team 2000","www.arabteam2000-forum.com")
ComboBox1.Items.Add(MyItem)الاستخدام عند أخذ القيمة
Dim MyItem as ListItem =ComboBox1.SelectedItem()
Msgbox ("Name is "+MyItem.Name.tostring()+vbnewline+"Value is "+MyItem.Value.tostring())الشرح:
نقوم بعمل صنف Class يخزن القيمتين الاسم , القيمة المخفيمة يحتوي الصنف على إعادة بناء لدالة التحويل الى نص ToString
حيث جعلناها ترجع الاسم
