tgoop.com/CsharpWindowsForm/238
Last Update:
إحضار كافة عناصر ListBox
للحصول على جميع العناصر ، نستخدم خاصية العناصر وننتقل خلالها لقراءة جميع العناصر. يتكرر مقتطف الكود التالي عبر جميع العناصر ويضيف محتويات العنصر إلى StringBuilder ويعرضها في MessageBox:
private void button1_Click(object sender, EventArgs e)
{
StringBuilder str = new StringBuilder();
foreach (var item in listBox1.Items)
{
str.Append(item.ToString());
str.Append(" ");}
MessageBox.Show(str.ToString());}
يمكنك الحصول على قيمة عنصر من عناصر listbox
واسنادها لمتغير اخر
مثال :
private void button1_Click(object sender, EventArgs e)
{
listBox1.SelectedIndex = 2;
string str = listBox1.Items[listBox1.SelectedIndex].ToString();
MessageBox.Show(str);
}
استخدمنا في السطر الأول داخل الدالة الخاصية SelectedIndex
لتحديد عنصر من عناصر listbox سوف يتم تحديد العنصر 3
وبعد ذلك يتم اسناد العنصر المحدد للمتغير str ومن ثم يقوم بطباعته
يمكنك حذف السطر الأول وتحديد عنصر في السطر الثاني
كالتالي :
string str = listBox1.Items[listBox1.SelectedIndex=2].ToString();
• الخاصية SelectionMode
تحدد الخاصية SelectionMode كيفية تحديد العناصر في ListBox. يمكن أن تكون قيمة SelectionMode واحدة من قيم تعداد SelectionMode الأربع التالية:
لا شيء: لا يمكن تحديد عنصر.
واحد: يمكن تحديد عنصر واحد فقط.
MultiSimple: يمكن تحديد عناصر متعددة.
MultiExtended: يمكن تحديد عناصر متعددة ، ويمكن للمستخدم استخدام مفاتيح SHIFT و CTRL والسهم لإجراء التحديدات
لتحديد عنصر في ListBox ، يمكننا استخدام الدالة SetSelect التي تأخذ فهرس عنصر وقيمة صواب أو خطأ حيث تمثل القيمة الحقيقية العنصر الذي سيتم تحديده.
يقوم مقتطف الكود التالي بتعيين ListBox للسماح بتحديد متعدد وتحديد العنصرين الثاني والثالث في القائمة:
listBox1.SelectionMode = SelectionMode.MultiSimple;
listBox1.SetSelected(1, true);
listBox1.SetSelected(2, true);
يمكننا مسح جميع العناصر المحددة عن طريق استدعاء طريقة ClearSelected ، كما في الكود التالي:
listBox1.ClearSelected();
ويمكن حذف جميع عناصر listBox كما في الكود التالي
listBox1.Items.Clear();
كيفية تعطيل تحديد العنصر في ListBox؟
فقط قم بتعيين الخاصية SelectionMode إلى none
فرز عناصر ListBox
إذا تم تعيين الخاصية Sorted إلى true ، فسيتم فرز عناصر ListBox. يقوم مقتطف الكود التالي بفرز عناصر ListBox:
listBox1.Sorted = true;
البحث عن عناصر في ListBox
يتم استخدام الدال FindString للعثور على سلسلة أو سلسلة فرعية في ListBox. يعثر مقتطف الكود التالي على سلسلة في ListBox ويحددها إذا تم العثور عليها:
private void button1_Click(object sender, EventArgs e)
{
listBox1.ClearSelected();
int index = listBox1.FindString(textBox1.Text);
if (index < 0)
{
MessageBox.Show("Item not found.");
}
else
{
listBox1.SelectedIndex = index;
}
}
ListBox SelectedIndexChanged Event Hander
يتم تشغيل الحدث SelectedIndexChanged عند تغيير تحديد العنصر في ListBox. يمكنك إضافة معالج الأحداث باستخدام نافذة الاحداث واختيار رمز الحدث والنقر المزدوج على SelectedIndexChanged
يحدد مقتطف الكود التالي هذه الأحداث وينفذها ومعالجات الأحداث الخاصة بها. يمكنك استخدام هذا الرمز نفسه لتنفيذ حدث في وقت التشغيل.
listBox1.SelectedIndexChanged += new EventHandler(listBox1_SelectedIndexChanged);
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
MessageBox.Show(listBox1.SelectedItem.ToString());
}
الخاصية DataSource
يتم استخدام الخاصية DataSource لربط مجموعة من العناصر ListBox.
مقتطف الكود التالي هو مثال بسيط لربط البيانات حيث يرتبط Array String بقائمة ListBox
listBox1.Items.Clear();
string[] str = new string[]
{
"C","Ruby","PHP","Java Script"
};
listBox1.DataSource = str;
BY برمجة تطبيقات الويندوز C# Programming
Share with your friend now:
tgoop.com/CsharpWindowsForm/238