![]() |
|
معلومة ::: ListBox - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : معلومة ::: ListBox (/showthread.php?tid=4648) الصفحات:
1
2
|
معلومة ::: ListBox - Blue Sky - 30-09-12 الأداة : ListBox لقد قمنا بشرح الأداة CheckBox من حيث النقاط الهامة وحان دور شرح الأداة ListBox وهي مثلها فهي تحمل عدة عناصر لكن بصورة ظاهرة للمستخدم تفيد فى مجموعة اختيارات - مثلا المستخدم أن يحدد الأصناف مثلاً =================================== الأداة تعمل حاضنة كنطاق مثل فكرة ComboBox تعمل كحاضنة لمجموعة من TextBox فى صورة عناصر لها فهرس ضع الأداة ListBox من صندوق الأدوات واضبطها على الفورم اكتب فى حدث التحميل للفورم هذا الكود كود : Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadما قمنا به هو أننا أضفنا عناصر للأداة ListBox عن طريق الخاصية Item واستخدام Add الأمر كما نري مثل ComboBox ويمكن القيام بذلك عن طريق نافذة الخصائص للأداة واستخدام الخاصية Items يتبع... معلومة ::: ListBox - Blue Sky - 30-09-12 قد أضفنا العناصر عن طريق الخاصية Add التابعة للخاصية Item المسئولة عن العناصر لكن ماذا لو كان الذى سيضاف ليس عنصر عنصر بل نطاق غير محدد سيكون علينا استخدام AddRange كاضافة نطاق كود : Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadقمنا بتعريف متغير نصي كمصفوفة ذات بعد محدد strDataRange وادخلنا لها قيم مباشرة وارسلناها للخاصية AddRange معلومة ::: ListBox - Blue Sky - 30-09-12 الخاصية Insert التابعة للخاصية Items ونرسل معها مكان العنصر من حيث الترتيب وهو الثاني هنا أيضاً اسم العنصر الظاهر للمستخدم وهو A كود : ListBox1.Items.Insert(2, "A")معلومة ::: ListBox - Blue Sky - 30-09-12 على غرار قضية Insert ننظر لهذا الكود كود : Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadنجد أن حرف A مكرر من كلمة BADR يعنى هناك عنصر زيادة لو أردنا حذفه ممكن نستخدم الخاصية Remove التابعة للخاصية Items هكذا كود : ListBox1.Items.Remove("A")كن هى لن تزيل حرف أى عنصر واحد بل ستزيل كل ما هو يحمل اسم A إذا علينا أن نحدد موقع المراد حذفه - فنستخدم الخاصية RemoveAt كود : ListBox1.Items.RemoveAt(2)معلومة ::: ListBox - Blue Sky - 30-09-12 هناك خواص خاصة بالزالق الأفقي والرأسي للأداة من نافذة الخصائص الخاصة بها مثلا لو أردنا أن نظهر الزالق الأفقي كود : ListBox1.HorizontalScrollbar = True======================================= لو أردنا أن نعرف عدد العناصر داخل الأداة ListBox عن طريق الخاصية Count التابعة للخاصية Items كود : MsgBox(ListBox1.Items.Count)===================================== ربما تريد أن تختار عنصر محدد - ذلك أمر يسير من الخاصية SetSelected للأداة ترسل رقم العنصر وأيضاً ترسل هل تريد اختياره أم لا True Or False كود : ListBox1.SetSelected(3, True)معلومة ::: ListBox - Blue Sky - 30-09-12 الخاصية SelectionMode تجدها فى نافذة الخصائص للأداة بها أربع اختيارات MultiExtended تمكنك من اختيار أكثر من عنصر عن طريق اختيار العنصر مع الضغط على زر Control MultiSimple تمكنك من اختيار أكثر م نعنصر دون الضغط على أى زر None لا تسمح لك باختيار أى عنصر One يكون الاختيار لعنصر أوحد فقط كود : ListBox1.SelectionMode = SelectionMode.MultiExtendedمعلومة ::: ListBox - Blue Sky - 30-09-12 بعاً تحدثنا عن الخاصية SetSelected وكيف نحدد عنصر محدد كود : ListBox1.SetSelected(2, True)نرسل رقم الفهرس وهل يتم التحديد أم لا لنرى هذا الكود كود : For I As Integer = 0 To ListBox1.Items.Count - 1يقوم بعمل حلقة For لتحديد كل عناصر الأداة ListBox1 لكن هل سيعمل بالطبع لا إلا إذا كنا غير الخاصية SelectionMode كما شرحناها كود : ListBox1.SelectionMode = SelectionMode.MultiSimpleمعلومة ::: ListBox - Blue Sky - 30-09-12 الخاصية ClearSelected تمسح كل الاختيارات ListBox1.ClearSelected() ========================================== الأداة بها عدة عناصر المستخدم يختار منها العنصر الثالث له ارتباط معين بحدث معين تريد ان تتأكد هل تم اختيار العنصر الثالث أم لا الخاصية GetSelected كود : If ListBox1.GetSelected(2) Thenلا تنسي أن العناصر تأخذ فهرس يبدأ من صفر لذلك رقم الفهرس هنا 2 هو للعنصر 3 معلومة ::: ListBox - Blue Sky - 30-09-12 فى حالة وجود أكثر من اختيار بمعنى أن الخاصية SelectionMode = MultiSimple كود : ListBox1.SelectionMode = SelectionMode.MultiSimpleأردنا أن نعرف عدد التحديدات للعناصر كود : MessageBox.Show(ListBox1.SelectedItems.Count.ToString)اى أننا استخدمنا الخاصية Count التابعة للخاصية SelectedItems لنعرف عدد العناصر المحددة ============================================ لو أردنا أن نظهر رقم الفهرس للعنصر المحدد كود : MessageBox.Show((ListBox1.SelectedIndex + 1).ToString())معلومة ::: ListBox - Blue Sky - 30-09-12 لخاصية FindString يمكن عن طريقها أن أبحث عن عنصر وأجعلها = True كود : Dim index As Integer = ListBox1.FindString("A")نقوم بتكوين متغير رقمى ونجعله يساوي فهرس العنصر الذى سنجده بالبحث عن طريق الخاصية FindString بعد أن أرسلنا لها اسم العنصر المطلوب البحث عنه أو حروف من اسمه ثم قمنا باستخدام الخاصية SelectedIndex كما شرحناها من قبل |