![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Элемент управления ListBox позволяет отобразить список позиций, из которых пользователь может выбрать нужную позицию щелчком мыши.
Доступ к выбранному элементу:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox7.Text = (string)listBox1.SelectedItems[0].ToString();
}
Элемент управления ListBox может поддерживать выбор одной или нескольких позиций, для чего предусмотрено свойство SelectionMode.
ListBox содержит также свойство MultiColumn, с помощью которого можно отобразить список позиций в виде нескольких столбцов, а не одного вертикального столбца. Это позволяет отобразить больше позиций списка и устраняет необходимость его прокрутки для поиска нужной позиции.
Как правило, Windows сама обрабатывает задачу рисования позиций, отображаемых в ListBox. С помощью свойства DrawMode и обработки событий MeasureItem и DrawItem можно переопределить автоматическое рисование, выполняемое средствами Windows, и рисовать элементы своими силами. С помощью элементов управления ListBox, рисуемых пользователем, можно отображать элементы переменной высоты, изображения или выделение разных позиций списка разными цветами. Свойство HorizontalExtent, методы GetItemHeight и GetItemRectangle также способствуют рисованию собственных элементов.
Кроме функций отображения и выбора, ListBox также реализует возможности, позволяющие эффективно добавлять элементы в ListBox и выполнять поиск текста в элементах списка. С помощью методов BeginUpdate и EndUpdate можно добавлять к ListBox большое число позиций, причем элемент управления не будет перерисовываться при добавлении к списку каждой новой позиции. Методы FindString и FindStringExact позволяют найти в списке элемент, содержащую определенную строку поиска.
Свойства Items, SelectedItems и SelectedIndices предоставляют доступ к трем коллекциям, используемым ListBox. В следующей таблице приведен обзор трех коллекций, используемых ListBox, и их применения в элементе управления.
Класс коллекции | Используйте в ListBox |
ListBox.ObjectCollection | Объединяет все позиции, содержащиеся в элементе управления ListBox. |
ListBox.SelectedObjectCollection | Содержит коллекцию выделенных позиций, являющееся подмножеством множества всех позиций, содержащихся в элементе управления ListBox. |
ListBox.SelectedIndexCollection | Содержит коллекцию выделенных индексов, являющееся подмножеством множества индексов ListBox.ObjectCollection. Эти индексы указывают выделенные позиции. |
Следующие три примера иллюстрируют три индексируемых коллекции, поддерживаемые классом ListBox.
На примере следующей таблицы демонстрируется, как в коллекции ListBox.ObjectCollection хранятся элементы объекта ListBox, а также показываются их состояния выбора в образце объекта ListBox.
Указатель | Элемент | Состояние выбора в списке ListBox |
object1 | Не выбран | |
object2 | Выбран | |
object3 | Не выбран | |
object4 | Выбран | |
object5 | Выбран |
Следующая таблица, основанная на примере ListBox.ObjectCollection в предыдущей таблице, демонстрирует возможный вид коллекции ListBox.SelectedObjectCollection.
Указатель | Элемент |
object2 | |
object4 | |
object5 |
Следующая таблица, основанная на примере ListBox.ObjectCollection в предыдущей таблице, демонстрирует возможный вид коллекции ListBox.SelectedIndexCollection.
Указатель | Индекс элемента |
Метод Add класса ListBox.ObjectCollection позволяет добавлять позиции в ListBox. Метод Add может принимать любой объект при добавлении элементов в ListBox. При добавлении объекта в ListBox элемент управления использует текст, определенный в методе ToString объекта, если только имя элемента в объекте не было указано в свойстве DisplayMember. Кроме добавления позиций с помощью метода Add класса ListBox.ObjectCollection, добавлять их можно также с помощью свойства DataSource класса ListControl.
Дата публикования: 2015-11-01; Прочитано: 229 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!