دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
کنترل ListBox در سی شارپ
1404/02/07 -
مدیریت تراکنش در پایگاه داده SQL
1404/02/06 -
کنترل LinkLable در سی شارپ
1404/02/05 -
عملگر تراکنش در پایگاه داده SQL
1404/02/02 -
کنترل Label در سی شارپ
1404/01/31 -
دستورات و فرامین تراکنش در پایگاه داده SQL
1404/01/30
کنترل ListBox در سی شارپ

کنترل ListBox در سیشارپ
کنترل ListBox در سیشارپ یکی از ابزارهای پرکاربرد برای نمایش لیستی از دادههاست که کاربر میتواند یک یا چند آیتم را از بین آنها انتخاب کند.
این کنترل به برنامهنویسان این امکان را میدهد تا مجموعهای از گزینهها را در یک لیست ساده و قابل فهم به کاربران ارائه دهند.
اضافه کردن آیتمها به ListBox بسیار آسان است و میتوان به صورت دستی یا از طریق کدنویسی آنها را مدیریت کرد.
از جمله ویژگیهای مهم ListBox میتوان به امکان انتخاب تکی یا چندگانه، مرتبسازی آیتمها و مدیریت رویدادهایی مثل تغییر انتخاب اشاره کرد.
در سیشارپ، کنترل ListBox نه تنها برای نمایش دادههای ساده استفاده میشود، بلکه در برنامههای پیشرفتهتر نیز برای نمایش دادههای پویا که از پایگاه داده یا منابع دیگر بارگذاری میشوند کاربرد دارد.
امکان تغییر ظاهر، افزودن رویدادهای دلخواه هنگام انتخاب یا دابل کلیک روی آیتمها، و کار با مجموعهای از دادهها باعث شده است که ListBox به یک ابزار بسیار انعطافپذیر و کارآمد در طراحی فرمهای کاربری تبدیل شود.
به همین دلیل تسلط بر نحوه استفاده از ListBox برای هر توسعهدهندهی سیشارپ ضروری است.
ایجاد ListBox در فرم
روش 1: طراحی با استفاده از ویژوال استودیو (Designer)
- پروژهی Windows Forms ایجاد کن.
- از جعبه ابزار (Toolbox) کنترل ListBox را به فرم بکش.
- در بخش Properties میتوان ویژگیهای آن مثل Name, Items, SelectionMode را تنظیم کرد.
روش 2: کدنویسی
میتوان به صورت دستی با کد ListBox ایجاد کرد:
ListBox listBox1 = new ListBox();
listBox1.Location = new Point(20, 20);
listBox1.Size = new Size(200, 150);
this.Controls.Add(listBox1);
افزودن آیتمها به ListBox
-
افزودن ساده
listBox1.Items.Add("سیب");
listBox1.Items.Add("پرتقال");
-
افزودن مجموعهای از آیتمها
string[] fruits = { "موز", "هندوانه", "کیوی" };
listBox1.Items.AddRange(fruits);
-
افزودن اشیاء
listBox1.Items.Add(new Product("کتاب", 50));
اگر آیتم شیء باشد، باید متد ()ToString در آن کلاس override شود.
حذف آیتمها از ListBox
-
حذف با مقدار
listBox1.Items.Remove("سیب");
-
حذف با اندیس
listBox1.Items.RemoveAt(0);
-
حذف تمام آیتمها
listBox1.Items.Clear();

انتخاب آیتمها
-
انتخاب یک آیتم
string selectedItem = listBox1.SelectedItem.ToString();
-
اندیس آیتم انتخاب شده
int selectedIndex = listBox1.SelectedIndex;
-
انتخاب چند آیتم (در حالت MultiSelect)
foreach (var item in listBox1.SelectedItems)
{
MessageBox.Show(item.ToString());
}
-
تنظیم نوع انتخاب
-
گزینهها
-
SelectionMode.One – فقط یک انتخاب مجاز
-
SelectionMode.MultiSimple – چند انتخاب با کلیک ساده
-
SelectionMode.MultiExtended – چند انتخاب با Ctrl و Shift
-
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
رویدادهای مهم در ListBox
-
SelectedIndexChanged
این رویداد زمانی رخ میدهد که آیتم انتخابشده تغییر کند.
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("شما انتخاب کردید: " + listBox1.SelectedItem);
}
-
DoubleClick
اگر کاربر دوبار روی آیتم کلیک کند:
private void listBox1_DoubleClick(object sender, EventArgs e)
{
MessageBox.Show("دابل کلیک روی: " + listBox1.SelectedItem);
}
ویژگیهای مهم ListBox
-
Items
لیست آیتمها -
SelectedItem
آیتم انتخابشده -
SelectedIndex
اندیس انتخابشده -
SelectedItems
لیست آیتمهای انتخابشده (در حالت چندتایی) -
SelectionMode
نوع انتخاب -
Sorted
مرتبسازی خودکار آیتمها -
Enabled
فعال یا غیرفعال بودن کنترل -
Visible
قابل دیدن بودن یا نبودن
مثال کاربردی لیست دانشآموزان
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Items.Add("علی");
listBox1.Items.Add("زهرا");
listBox1.Items.Add("امیر");
}
private void btnAdd_Click(object sender, EventArgs e)
{
listBox1.Items.Add(txtName.Text);
txtName.Clear();
}
private void btnDelete_Click(object sender, EventArgs e)
{
listBox1.Items.Remove(listBox1.SelectedItem);
}
در این مثال، با وارد کردن نام دانشآموز و فشردن دکمه "افزودن"، نام به لیست اضافه میشود.
همچنین با انتخاب یک نام و فشردن دکمه "حذف"، آن نام از لیست پاک میشود.
نکات پیشرفته
-
استفاده از DataBinding
برای اتصال ListBox به دیتابیس یا لیست شیء
listBox1.DataSource = productsList;
listBox1.DisplayMember = "ProductName";
listBox1.ValueMember = "ProductID";
-
استفاده از ToolTip
ToolTip toolTip = new ToolTip();
toolTip.SetToolTip(listBox1, "برای انتخاب آیتم کلیک کنید");
-
تغییر رنگ یا فونت
listBox1.Font = new Font("Tahoma", 12);
listBox1.BackColor = Color.LightYellow;
محدودیتها و راهکارها
-
عدم پشتیبانی از ستونبندی
ListBox تنها یک ستون دارد. برای لیستهای پیچیدهتر از ListView یا DataGridView استفاده شود. -
ظاهر ساده
میتوان با شخصیسازی ظاهر آن را زیباتر کرد ولی محدود است. -
عدم پشتیبانی مستقیم از دستهبندی آیتمها
باید با کدنویسی آن را شبیهسازی کرد.
نتیجهگیری
کنترل ListBox یکی از سادهترین و در عین حال مفیدترین کنترلهای رابط کاربری در C# است. استفاده از آن در بسیاری از برنامهها به کاربر امکان انتخاب از میان گزینههای مختلف را میدهد. با استفاده از ویژگیها، متدها و رویدادهای آن میتوان برنامههای تعاملی و کاربرپسند ساخت.
یادگیری کامل ListBox به توسعهدهندگان کمک میکند تا به راحتی رابطهای گرافیکی مناسب و انعطافپذیر طراحی کنند.
دوره های مرتبط

آموزش برنامه نویسی سی شارپ
زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.