Элементы управления OptionButton



Если CheckBox предназначен для выбора невзаимоисключающих вариантов, то переключатель (OptionButton) используется как раз для выбора варианта в ситуации "или/или".

 Главных свойств у этого элемента управления два.

Caption– надпись для переключателя.

Value – установлен переключатель или нет (только два состояния – True или False).

Главное событие тоже стандартное – Change.

Конечно, использовать один переключатель бессмысленно. Выбор должен предоставляться хотя бы из двух вариантов, и при выборе одного из них другой автоматически снимается. Однако в некоторых ситуациях нам необходимо выбрать из нескольких наборов вариантов (например, отчет за месяц/квартал/год, тип отчета, нужный филиал и т. п.). Решение простое – переключатели нужно сгруппировать.

Самый простой вариант группировки – просто использовать новую форму или вкладку на форме. Если переключатели находятся на одной форме (или на одной вкладке), они автоматически считаются взаимоисключающими. Если же нужно более точно выбрать группы, то необходимо использовать элемент управления Frame.

Элементы управления CheckBox

Флажки (CheckBox) (пользователи часто называют их "галками" или "птичками") и кнопки с фиксацией (ToggleButton) используются для выбора невзаимоисключающих вариантов (если этих вариантов немного).

Для CheckBox предусмотрено три главных свойства.

Caption – надпись справа от флажка, которая объясняет, что выбирается этим флажком.

TripleState – если это свойство установлено в False (по умолчанию), то флажок может принимать только два состояния: установлен или нет. Если для TripleState установить значение True, то появляется третье значение Null, когда установлен "серый" флажок. Такое значение часто используется, например, при выборе компонентов программы при установке, когда выбраны не все компоненты, а лишь некоторые.

Value – само состояние флажка. Может принимать значения True (флажок установлен), False (снят) и Null – "серый" флажок (когда свойство TripleState установлено в True).

Главное событие элемента CheckBox – Change.

Элементы управления ListBox

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

- в нем нельзя открыть список значений по кнопке. Все значения видны сразу в поле, аналогичном текстовому, и поэтому большое количество позиций в нем уместить трудно;

- пользователь не может вводить свои значения – только выбирать из готовых.

Но у этого элемента управления  есть и преимущества: в нем пользователь может выбирать не одно значение, как в ComboBox, а несколько.

Обычно ListBox используется:

как промежуточное средство отображения введенных или выбранных пользователем через ComboBox значений (или любых других списков, например, для списка выбранных файлов);

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

Основные свойства, методы и события у ListBox – те же, что и у ComboBox.

Главное отличие – это свойство MultiSelect, которое позволяет пользователю выбирать несколько значений. По умолчанию это свойство отключено.

Элементы управления ComboBox

Комбинированный список (ComboBox) также используется очень часто. Этот элемент управления позволяет пользователю выбирать "готовые" значения из списка, так и вводить значения самостоятельно (хотя это можно запретить).

Обычно ComboBox используется в двух ситуациях:

- когда пользователю необходимо выбрать одно или несколько значений из списка размером от 4-х до нескольких десятков позиций. Если позиций меньше, то проще использовать переключатель (OptionButton), если больше – то ориентироваться в списке становится неудобно и необходимо использовать специальные приемы, когда пользователь вводит первые буквы нужного слова и в списке остаются только значения, которые начинаются с этих букв;

- когда список позиций для выбора необходимо формировать динамически на основании данных из источника (базы данных, листа Excel и т. п.).

К сожалению, через окно свойств заполнить список позициями не получится – для этой цели придется использовать специальный метод AddItem().

Обычно он помещается в обработчик события Initialize для формы. Применение его может выглядеть так:

Private Sub UserForm_Initialize()

ComboBox1.AddItem "Санкт-Петербург"

ComboBox1.AddItem "Ленинградская область"

ComboBox1.AddItem "Москва"

ComboBox1.AddItem "Московская область"

End Sub

Второй параметр varIndex (необязательный) этого метода может использоваться для определения положения элемента в списке, но он не может превышать значения свойства ListCount и поэтому для начальной загрузки ComboBox не подходит.

Самые важные свойства комбинированного списка представлены далее.

ColumnCount, ColumnWidth, BoundColumn, ColumnHeads, RowSource– свойства которые применяются при работе со списками из нескольких столбцов. Пользователи не любят такие списки, и поэтому к использованию они не рекомендуются (гораздо проще сделать несколько комбинированных списков).

MatchEntry – определяет, будут ли при вводе пользователем первых символов значения выбираться подходящие позиции из списка. Возможность очень удобная, рекомендуется сохранить значение, которое используется по умолчанию.

MatchRequired – определяет, разрешается ли пользователю вводить то значение, которого нет в списке. По умолчанию False, т. е. разрешено.

Value (или Text) – позволяет программным способом установить выбранное значение в списке или получить в переменную выбранное или введенное пользователем значение.

Остальные свойства (AutoSize, Enabled, Locked, ControlText, ControlTipText,

MaxLength) применяются точно так же, как и для TextBox.

Главное событие для комбинированного списка – Change, то же, что и для TextBox. Обычно в обработчике этого события проверяются введенные пользователем значения, эти значения переносятся в текстовое поле или в ListBox (если нужно дать пользователю возможность выбрать несколько значений, поскольку свойства MultiSelect у ComboBox нет) и т. п.


Дата добавления: 2018-04-15; просмотров: 527; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!