Элемент ListBox представляет собой простой список. Ключевым свойством этого элемента является свойство Items, которое как раз и хранит набор всех элементов списка.
Элементы в список могут добавляться как во время разработки, так и программным способом. В Visual Studio в окне Properties (Свойства) для элемента ListBox мы можем найти свойство Items. После двойного щелчка на свойство нам отобразится окно для добавления элементов в список:
В пустое поле мы вводим по одному элементу списка - по одному на каждой строке. После этого все добавленные нами элементы окажутся в списке, и мы сможем ими управлять:
Итак, все элементы списка входят в свойство Items
, которое представляет собой коллекцию. Для добавления нового элемента в
эту коллекцию, а значит и в список, надо использовать метод Add, например: listBox1.Items.Add("Новый элемент");
.
При использовании этого метода каждый добавляемый элемент добавляется в конец списка.
Можно добавить сразу несколько элементов, например, массив. Для этого используется метод AddRange
:
string[] countries = { "Бразилия", "Аргентина", "Чили", "Уругвай", "Колумбия" }; listBox1.Items.AddRange(countries);
В отличие от простого добавления вставка производится по определенному индексу списка с помощью метода Insert
:
listBox1.Items.Insert(1, "Парагвай");
В данном случае вставляем элемент на вторую позицию в списке, так как отсчет позиций начинается с нуля.
Для удаления элемента по его тексту используется метод Remove
:
listBox1.Items.Remove("Чили");
Чтобы удалить элемент по его индексу в списке, используется метод RemoveAt
:
listBox1.Items.RemoveAt(1);
Кроме того, можно очистить сразу весь список, применив метод Clear
:
listBox1.Items.Clear();
Используя индекс элемента, можно сам элемент в списке. Например, получим первый элемент списка:
string firstElement = listBox1.Items[0];
Свойство Count
возвращает количество элементов в списке:
int number = listBox1.Items.Count;
При выделении элементов списка мы можем ими управлять как через индекс, так и через сам выделенный элемент. Получить выделенные элементы можно с помощью следующих свойств элемента ListBox:
SelectedIndex: возвращает или устанавливает номер выделенного элемента списка. Если выделенные элементы отсутствуют, тогда свойство имеет значение -1
SelectedIndices: возвращает или устанавливает коллекцию выделенных элементов в виде набора их индексов
SelectedItem: возвращает или устанавливает текст выделенного элемента
SelectedItems: возвращает или устанавливает выделенные элементы в виде коллекции
По умолчанию список поддерживает выделение одного элемента. Чтобы добавить возможность выделения нескольких элементов,
надо установить у его свойства SelectionMode
значение MultiSimple
.
Чтобы выделить элемент програмно, надо применить метод SetSelected(int index, bool value)
,
где index - номер выделенного элемента. Если второй параметр - value имеет значение true
, то элемент по указанному индексу
выделяется, если false
, то выделение наоборот скрывается:
listBox1.SetSelected(2, true); // будет выделен третий элемент
Чтобы снять выделение со всех выделенных элементов, используется метод ClearSelected
.
Из всех событий элемента ListBox надо отметить в первую очередь событие SelectedIndexChanged
, которое возникает при изменении выделенного элемента:
public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] countries = { "Бразилия", "Аргентина", "Чили", "Уругвай", "Колумбия" }; listBox1.Items.AddRange(countries); listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged; } void listBox1_SelectedIndexChanged(object sender, EventArgs e) { string selectedCountry = listBox1.SelectedItem.ToString(); MessageBox.Show(selectedCountry); } }
В данном случае по выбору элемента списка будет отображаться сообщение с выделенным элементом.