
Поговорим о компоненте ListBox, находится он в списке All Windows Forms. С помощью данного компонента в форме выводится список элементов. К примеру, списка каких либо товаров. Опять же не буду говорить лишние слова, а лучше сразу покажу все на примере, дабы вам было понятнее. Итак, у нас есть список продуктов: «Картофель, капуста, помидоры, огурцы». И мы хотим подсчитать, сколько именно нам необходимо взять с собой денег, ну или иметь представления хотя бы какую на какую сумму необходимо рассчитывать (если у вас, к примеру, список из 200 элементов, цены которых указаны точно). Выбираем наш компонент и перетаскиваем его на нашу форму:

Для того, чтобы внести элемент в список, можно воспользоваться двумя способами:
1.Выбираем в свойстве элемента пункт Items, видим такое окно:

Добавляем название элемента,нажимаем «Enter» – по такому принципу формируем список
2.Второй способ добавления элемента – непосредственное его добавление в коде, делается это следующим образом:
private void button1_Click_1(object sender, EventArgs e)
{
listBox1.Items.Add("Свекла");
}
И после того, как мы нажмем кнопку, в наш списочек добавиться еще один элемент. Вторым способом нужно пользоваться, если вы заранее не знаете количество элементов и их название. Поэтому добавляете, к примеру, TextBox и с его помощью формируете список.
Дополним нашу программу следующими компонентами: 1-textBox, 2-button и 1-richTextBox. У меня это выглядит вот так:

Сформируем список продуктов в обработчике «Load» формы:
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox1.Items.Add("Картофель");
listBox1.Items.Add("Капуста");
listBox1.Items.Add("Помидоры");
listBox1.Items.Add("Огурцы");
}
Опишем поведение программы после нажатия кнопки “Подсчитать”:
private void button1_Click_1(object sender, EventArgs e)
{
int LengthOfList = listBox1.Items.Count;
int price;
int kg;
if (textBox1.Text != "")
{
kg = Convert.ToInt32(textBox1.Text);
if (listBox1.SelectedIndex == 0)
{
price = 20 * kg;
richTextBox1.Text += listBox1.SelectedItem.ToString() + "-" + Convert.ToString(price) + "руб." + "\n";
Sum += price;
textBox1.Clear();
}
if (listBox1.SelectedIndex == 1)
{
price = 15 * kg;
richTextBox1.Text += listBox1.SelectedItem.ToString() + "-" + Convert.ToString(price) + "руб." + "\n";
Sum += price;
textBox1.Clear();
}
if (listBox1.SelectedIndex == 2)
{
price = 16 * kg;
richTextBox1.Text += listBox1.SelectedItem.ToString() + "-" + Convert.ToString(price) + "руб." + "\n";
Sum += price;
textBox1.Clear();
}
if (listBox1.SelectedIndex == 3)
{
price = 25 * kg;
richTextBox1.Text += listBox1.SelectedItem.ToString() + "-" + Convert.ToString(price) + "руб." + "\n";
Sum += price;
textBox1.Clear();
}
}
else
{
MessageBox.Show("Введите кол-во килограмм");
}
}
В данном коде строка listBox1.SelectedIndex == 0 обращается к выделенному первому элементу списка(нумерация идет с 0). Ну и соответственно listBox1.SelectedIndex == 1 обращается ко второму элементу и так далее. Если пользователь не ввел данные в поле ввода «КГ», то выводиться ошибка:

И напоследок обработаем кнопку «Итого»
private void button2_Click(object sender, EventArgs e)
{
richTextBox1.Text += "Итого: " + Sum +"руб.";
}
Рассмотрели небольшой пример, теперь рассмотрим основные Методы и Свойства данного компонента, но сначала напишу, что скачать полный код программы вы можете Скачать рабочую программу – «Тут
«, полный исходный код программы – тут
Методы
Add() – добавляет элемент в конец нашего списка
Insert()-вставить элемент внутрь списка
Clear() – очищает весь список
Remove()-удалить заданный элемент их списка
СВОЙСТВА
ColumnWidth – задает ширину колонки в многократном режиме.
Items – с этим свойством мы уже знакомы. При помощи него мы формируем список.
MultiColumn – обеспечивает компоненту в многоколоночном режиме(этот режим чем то схож с одноименным режимом в MS WORD, не поместившиеся элементы будут перенесены в другую колонку ).