Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Основные сведения. Элементы управления GroupBox, RadioButton, ListBox, ComboBox





Элементы управления GroupBox, RadioButton, ListBox, ComboBox

GroupBox (группировка) – позволяет объединять в группу отдельные элементы управления, по периметру выделена линией и вверху содержит текст, определенный в свойстве Text. Рамка группы темнее цвета фона.

Обычно группы используются в качестве «родителя» кнопок-переключателей (radio buttons). Все переключатели внутри одной группы взаимоисключающие. Нажатие клавиш со стрелками перемещает фокус ввода и метку выбора между переключателями.

RadioButton (переключатель) - элемент управления, который обычно представляет собой кружок, расположенный слева от текста. У класса RadioButton есть свойство Appearance, которому можно задать значение AppearanceButton - тогда элемент управления выглядит как кнопка, а также свойство CheckAlign, позволяющее менять положение кружка относительно текста.

Также у RadioButton есть булево свойство Checked, при изменении которого инициируется событие CheckedChanged.

По умолчанию значение AutoCheck равно true и если значение AutoCheck равно true и RadioButton «включен», щелчок кнопки ничего не изменит. Если AutoCheck равно true и RadioButton «выключен», щелчок мышью его «включит». Вдобавок, все «родственные» переключатели «выключатся».

Таким образом, в каждый момент включен всего лишь один из группы переключателей RadioButton. Обычно наборы взаимоисключающих кнопок-переключателей создаются как потомки GroupBox, хотя «родитель» у них может быть любой.

Обратите внимание, что «родственные» переключатели поддерживают ввод с клавиатуры: переключение осуществляется клавишами со стрелками.

Если не нужна немедленная реакция на изменения, нет необходимости устанавливать обработчик события CheckedChanged.

Однако если потребуется определить, какой из переключателей выбран, надо в цикле проверить свойства Checked всех родственных переключателей.

Если AutoCheck равно false, можно обрабатывать событие Click и самостоятельно включать/отключать переключатели. При желании можно сделать включенными несколько переключателей, но пользователя такая ситуация наверняка поставит в тупик.

ListBox (список) - содержит прокручиваемый набор объектов. По умолчанию пользователь враве выбрать один (или несколько) элементов, используя клавиатуру или мышь. Выбранные объекты выделяются.

Отображаемые элементы списка задаются свойством Items - объектом типа
ListBox.ObjectCollection. В классе ListBox.ObjectCollection определен метод Add, позволяющий добавлять новые объекты в набор. В списке отображаются текстовые названия элементов, возвращаемые методом ToString каждого объекта. Свойство Sorted
объекга ListBox обеспечивает автоматическую сортировку элементов. После этого
можно использовать свойство Items объекта ListBox для обращения к отдельным
объектам наподобие того, как это делают с массивом.

Список также можно заполнить элементами из источника данных — объекта, реа-
лизующего интерфейс IList (например, массив) или объект DataSet.

В свойстве SelectedIndex хранится индекс выбранного в данный момент элемента. Если выбранных элементов нет, его значение равно -1. Свойство SelectedItem представляет фактический выбранный элемент (объект). Оно может быть равным null. При выборе какого-либо элемента списка выражение:

Listbox.SelectedItem

эквивалентно выражению:

Listbox.Items[Listbox.SelectedIndex]

Следующие два выражения также равносильны:

Listbox.Text

и

Listbox.SelectedItem.ToString()

По умолчанию в списке разрешается выбрать только один элемент. Однако вы вправе разрешить множественное выделение, задав свойству SelectionMode одно из значений перечисления SelectionMode: None, One, MultiSimple или MultiExtended.

Вариант MultiSimple слегка меняет вид ListBox, делая различия между выбранными элементами (указанны выделением) и фокусом ввода (указан пунктиром). Фокус ввода перемещают клавишами-стрелками, а пробелом или мышью выбирают или отменяют выбор элементов. Вариант MultiExtended разрешает выбирать только диапазон последовательных элементов, для чего пользователь должен, придерживая клавишу Shift, стрелками выбрать нужный диапазон.

В списках с возможностью выбора нескольких элементов используется свойство «только для чтения» SelectedIndices (объект типа ListBoxSelectedlndexCollection) или SelectedItems (объект типа ListBoxSelectedObjectCollection).

Объекты ListBoxSelectedIndexCollection и ListBoxSelectedObjectCollection поддерживают индексы и доступ к отдельным элементам по механизму массива целых чисел.

Для получения информации об изменении выбранного элемента (или элементов) устанавливают обработчик события OnSelectedIndexChanged или OnSelectedValueChanged.

Если нужно, чтобы элементы списка отображались методом, отличным от ToString, можно использовать функцию элемента управления ListBox, называемую отрисовка владельцем (owner draw). В этом случае программа уведомляется посредством событий о необходимости отрисовки элемента списка.

При использовании отрисовки владельцем первым делом надо присвоить свойству DrawMode значение DrawMode.OwnerDrawFixed (все пункты списка имеют одну высоту) или DrawMode.OwnerDrawVariable (пункты списка разной высоты). По умолчанию значение свойства DrawMode равно DrawMode.Normal, что возлагает обязанность отрисовки на сам элемент управления.

Если все элементы списка одинаковой высоты, ее нужно указать в свойстве ItemHeight. В противном случае необходимо задействовать событие MeasureItem, обработчик которого задается в соответствии с делегатом MeasureItemEventHandler. Предоставляемый сообщением объект MeasureItemEventArgs имеет свойства для чтения Graphics и Index. Первое представляет собой объект типа Graphics, служащий для вычисления высоты элемента, а последнее - числовой индекс элемента списка. Высота и ширина элемента задается свойствами ItemHeight и ItemWidth.

При отрисовке владельцем необходимо установить обработчик события DrawItem. Обработчик вызывается для каждого отображаемого элемента, при этом ему передается объект типа DrawItemEventArgs с несколькими свойствами ListBox «только для чтения»: BackColor, ForeColor и Font. Свойство Bounds — это объект типа Rectangle, в котором выполняется отрисовка. Кроме этого, обработчик получает объекты Graphics и Index. Свойство State — это член перечисления DrawItemState, которое указывает, выбран ли элемент, имеет фокус ввода и т. д. Класс DrawItemEventArgs также включает два метода, DrawBackground и DrawFocusRectangle, помогающие в отрисовке элемента списка.

ComboBox (Поле со списком) - это комбинация списка и текстового окна. В обычном состоянии отображается только текстовое окно со стрелкой «вниз» справа. По щелчку этой стрелки раскрывается список — внизу появляется окно со списком. По умолчанию пользователь вправе ввести текст в текстовое окно (чтобы выбрать элемент списка), редактировать отображаемый в окне текст или ввести совершенно новый текст. Введенный текст не добавляется автоматически в список — это делается из программы. Большинство программ не разрешают редактирование текста. Такое поведение управляется свойством DropDownStyle — членом перечисления ComboBoxStyle, содержащего следующие члены:

- Simple - текст можно редактировать, список постоянно открыт;

- DropDown - текст можно редактировать, список отображается по щелчку (по умолчанию);

- DropDownList - текст редактировать нельзя, список отображается по щелчку.

Для раскрытия списка (или определения его положения в текущий момент) можно использовать свойство DroppedDown.

Как и в ListBox, в программе можно задействовать свойства SelectedIndex и SelectedItem для определения или получения выбранного элемента. Поля со списком не поддерживают множественный выбор. Выбранный элемент отображается в текстовом окне элемента управления и доступен через свойство Text. В момент ввода текста в поле текстового окна свойство SelectedIndex равно -1, a SelectedItem - null.

Как и в ListBox, для обнаружения момента изменения выбранного элемента задействуют обработчики событий SelectedIndexChanged или SelectedValueChanged. Событие TextChanged информирует об изменении текста в верхней части ComboBox – из-за выбора другого элемента или ввода текста.

Элементы управления для работы с числами и датой







Дата добавления: 2014-11-10; просмотров: 984. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Разновидности сальников для насосов и правильный уход за ними   Сальники, используемые в насосном оборудовании, служат для герметизации пространства образованного кожухом и рабочим валом, выходящим через корпус наружу...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия