کاربرد ListBox در سی شارپ
جهت دانلود ویدیوی آموزشی با کیفیت Full HD روی لینک زیر کلیک کنید .
حجم فایل : 55.8 مگابایت
مدت زمان : 18:11
در آپارات نیز می توانید به فایل های بالا با کیفیت HD دسترسی داشته باشید.
آموزش قدم به قدم
اگر توی برنامون احتیاج به یک لیست انتخاب داشته باشیم می توانیم از لیست باکس استفاده کنیم .برای این منظور روی تول باکس کلیک می کنیم و listbox را از درون آن انتخاب می کنیم .

این لیست باکس مهمترین مشخصه ای که در پنجره ی properties داره مشخصه ی آیتم می باشد .

روی علامت مشخص شده در تصویر بالا کلیک کنید تا صفحه ی ورود اطلاعات برای شما نمایان شود

پس از انتخاب دکمه ی اوکی شاهد تصویر زیر در پنجره ی فرم خواهیم بود

پس از اجرا با کد F5 می توانیم عناوینی را که وارد نموده ایم انتخاب کنیم .

برای اینکه با کاربرد این ابزار بیشتر آشنا شوید برنامه ی ساده ای را با همدیگر می سازیم
یک لیست باکس و دو باتن و یک عدد تکست باکس به فرم اضافه می کنیم .
قصد داریم درون تکست باکس عناوین ها را وارد کنیم و یکی از باتن ها را جهت وارد کردن و یکی از باتن ها را در جهت حذف کردن آیتم های درون لیست باکس به کار گیری کنیم . به همین منظور اسامی دلخواهی برای باتن ها قرار می دهیم که من به دلخواه اسامی آنها در پنجره ی properties تغییر دادم که در تصویر زیر آن را مشاهده می کنید .

برنامه فوق داری وارد کردن ، حذف کردن و جستجو می باشد . عمل جستجو با نوشتن کلمات درون تکست باکس در لیست باکس جستجو می گردد
با اجرای برنامه شاهد تصویر زیر خواهیم بود که البته من درون تکست باکس مقادیری را وارد کردم و همانطور که در تصویر می بینید با نوشتن دو حرف هن در لیست باکس کلمه ی هندونه انتخاب شده است .

اطلاعات مربوط به خط کدها در زیر قابل مشاهده می باشد . البته توضیحاتی جهت خواناتر شدن نیز ذکر شده است .
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// درون باتن وارد کردن اطلاعات زیر را قرار می دهیم
private void button1_Click(object sender, EventArgs e)
{
//با اجرای خط کد زیر شاهد اضافه شدن تمام مقادیر درون تکست باکس به لیست باکس خواهیم بود
listBox1.Items.Add(textBox1.Text);
//با اجرای خط کد زیر شاهد خالی شدن تکست باکس پس از اجرای دستورات بالا خواهیم بود
textBox1.Text = "";
// با اجرای خط کد زیر شاهد فوکوس روی تکست باکس خواهیم بود که این فقط صرفا جهت سرعت عمل در این قسمت اضافه شده است
textBox1.Focus();
}
// اطلاعات زیر مربوط به باتن حذف کردن می باشد
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Remove(textBox1.Text);
//با اجرای خط کد زیر شاهد خالی شدن تکست باکس پس از اجرای دستورات بالا خواهیم بود
textBox1.Text = "";
// با اجرای خط کد زیر شاهد فوکوس روی تکست باکس خواهیم بود که این فقط صرفا جهت سرعت عمل در این قسمت اضافه شده است
textBox1.Focus();
}
// اطلاعات زیر مربوط به سرچ کردن یا جستجو کردن می باشد
// در اینجا ما روی تکست باکس دو بار کلیک کردیم و وارد رویداد تکست چنج اون شدیم
//تکست چنج یعنی اینکه هر موقع تغییر کند هر کدی در این قسمت نوشته شود اجرا می گردد
//برای مثال اگر ما در این برنامه از لیبل یا برچست استفاده می کردیم درون بلاک زیر می نوشتیم هر مقداری که درون تکست باکس نوشته می شود درون لیبل همزمان نوشته شود با اجرای خط کد زیر این مورد انجام می شود
// label1.Text = textBox1.Text;
// اما ما در اینجا قصد داریم که اگر کاربر مقداری را درون تکست باکس نوشت در صورتی آن مقدار درون لیست باکس وجود داشته باشد انتخاب گردد
private void textBox1_TextChanged(object sender, EventArgs e)
{
listBox1.SelectedIndex = listBox1.FindString(textBox1.Text);
// در خط کد بالا نوشتیم مقداری از لیست باکس را انتخاب کن که با مقدار درون تکست باکس برابری دارد
// عمل فایند استرینگ عمل جستجو کردن را انجام می دهد
//listBox1.FindString(textBox1.Text)
// خط کد بالا - فایند استرینگ متن وارد شده درون تکست باکس را در لیست باکس جستجو می کند
}
}
}
