ListBox

Последнее обновление: 31.10.2015

Элемент ListBox представляет собой простой список. Ключевым свойством этого элемента является свойство Items, которое как раз и хранит набор всех элементов списка.

Элементы в список могут добавляться как во время разработки, так и программным способом. В Visual Studio в окне Properties (Свойства) для элемента ListBox мы можем найти свойство Items. После двойного щелчка на свойство нам отобразится окно для добавления элементов в список:

Добавление объектов в элемент ListBox

В пустое поле мы вводим по одному элементу списка - по одному на каждой строке. После этого все добавленные нами элементы окажутся в списке, и мы сможем ими управлять:

Элемент ListBox в Windows Forms

Программное управление элементами в ListBox

Добавление элементов

Итак, все элементы списка входят в свойство 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.

Событие SelectedIndexChanged

Из всех событий элемента 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);
    }
}

В данном случае по выбору элемента списка будет отображаться сообщение с выделенным элементом.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850