Предоставьте пользователям элементы управления на выбор
Большинству приложений необходимо предоставлять пользователю выбор, например простой вариант «Да/Нет» или выбор из списка сотен возможностей. Visual Basic включает несколько стандартных элементов управления для выбора. В следующей таблице приведены эти элементы управления и их использование.
Выберите один вариант с помощью CheckBox
CheckBox указывает, выбрано ли определенное состояние (включено) или очищено (выключено). Использование CheckBox в приложении предоставляет пользователю выбор «Верно/Неверно» или «Да/Нет». Поскольку флажки работают независимо друг от друга, пользователи могут одновременно выбирать столько флажков, сколько захотят. Например, на рисунке 3.9 можно выбрать как жирный, так и курсив.
Приложение CheckBox
В этом примере используется CheckBox, чтобы определить, должен ли текст отображаться обычным шрифтом или курсивом. Рабочую версию этого примера см. в разделе Check.frm в примере приложения Controls.vbp. Как показано на рисунке 3.10, это приложение имеет TextBox, Label, CommandButton и два флажка.
В следующей таблице перечислены параметры свойств объектов в приложении.
Если выделено полужирное или курсивное начертание, для свойства Value элемента CheckBox устанавливается значение 1, а если оно не выбрано, — 0. Значением по умолчанию является 0, поэтому, если вы не измените свойство Value, CheckBox не будет выбран при первом отображении. Вы можете использовать константы vbChecked и vbUnchecked для представления значений 1 и 0.
событие в приложении флажка
При щелчке CheckBox происходит событие Click CheckBox. Эта процедура обработки событий проверяет, выбран ли флажок CheckBox (т. е. имеет ли значение Value=vbChecked). Если этот флажок установлен, текст преобразуется в полужирный или курсив, устанавливая свойство Bold или Italic объекта Font, возвращаемого свойством Font TextBox.
PRivateSubchkBold_Click()
IfChkBold.Value=vbCheckedThen 'Если выбрано.
txtDisplay.Font.Bold = Истина
Else 'Если не выбрано.
txtDisplay.Font.Bold = Ложь
КонецЕсли
EndSub
PrivateSubchkItalic_Click()
IfChkItalic.Value=vbCheckedThen 'Если выбрано.
txtDisplay.Font.Italic = Истина
Else 'Если не выбрано.
txtDisplay.Font.Italic = Ложь
КонецЕсли
EndSub
Группируйте параметры с помощью кнопок выбора
Кнопки выбора представляют собой набор из двух или более вариантов выбора, предоставляемых пользователю. Однако, в отличие от CheckBox, переключатели всегда работают как часть группы, поэтому выбор переключателя немедленно очищает другие кнопки в группе; Определите группу кнопок выбора, которая сообщает пользователю: «Это набор вариантов, выберите один и только один».
Например, в группе кнопок выбора, показанной на рисунке 3.11, пользователь может выбрать только одну из трех кнопок выбора.
Создать группу переключателей
Все переключатели, размещенные непосредственно в форме (то есть не в рамке или PictureBox), образуют группу. Если вы хотите создать другие группы переключателей, вам необходимо поместить некоторые из них в рамку или PictureBox.
Все переключатели в данном фрейме образуют отдельную группу, как и все переключатели в PictureBox. При использовании этого метода для создания независимой группы необходимо сначала нарисовать рамку или PictureBox, а затем нарисовать внутри нее переключатели. На рис. 3.12 показана форма с двумя группами кнопок выбора.
После того, как группа кнопок выбора нарисована во фрейме, пользователь может выбрать только одну кнопку выбора в группе. Чтобы сгруппировать элементы управления во фрейме, выполните следующие действия:
1. Выберите элемент управления «Рамка» на «Панели инструментов» и нарисуйте Рамку на форме.
2. Выберите элемент управления OptionButton на «Панели инструментов» и нарисуйте его в рамке.
3. Если вы также хотите добавить в рамку дополнительные кнопки, повторите шаг 2. Сначала нарисуйте фрейм, а затем нарисуйте каждый элемент управления в фрейме, чтобы при перемещении фрейма элементы управления перемещались вместе. Если вы переместите существующий элемент управления во фрейм, он не будет перемещаться вместе с фреймом.
Обратите внимание: если вы группируете существующие элементы управления во фрейм, вы можете выбрать эти элементы управления, а затем вырезать и вставить их в элемент управления «Рамка» или «Изображение».
Контейнер управления
Если элемент управления является независимым объектом, между формой и элементом управления существует своего рода родительско-дочерняя связь. На рис. 3.12 показано, как кнопки выбора могут содержаться в форме или элементе управления Frame.
Чтобы понять концепцию контейнеров, сначала представьте, что все элементы управления являются дочерними элементами формы, в которой они находятся. Фактически, большинство элементов управления поддерживают свойство Parent, доступное только для чтения, значением которого является форма, в которой расположен элемент управления. Будучи дочерним, элемент управления определяет свое положение в родительской форме. Свойство Left и свойство Top элемента управления относятся к родительской форме, и элемент управления не может выйти за границы родительской формы. При перемещении контейнера элемент управления также перемещается, поэтому относительное положение элемента управления и контейнера остается неизменным (то есть свойства Left и Top элемента управления остаются неизменными).
Выберите или отключите дополнительные кнопки
Кнопку выбора можно выбрать следующими способами:
1.Нажмите кнопку выбора мышью во время выполнения.
2. С помощью клавиши Tab найдите группу переключателей, а затем используйте клавиши со стрелками (клавиши со стрелками), чтобы найти переключатель в группе.
3. Установите для свойства Value значение True, используя код: optChoice.Value=True.
4. Используйте горячую клавишу, указанную в заголовке метки.
5. Чтобы сделать кнопку кнопкой по умолчанию в группе кнопок выбора, просто установите для ее свойства Value значение True во время разработки. Он остается выбранным до тех пор, пока пользователь не выберет другую кнопку выбора или не изменит ее с помощью кода.
Чтобы отключить переключатель, установите для его свойства Enabled значение False. Если во время работы программы эта кнопка выбора становится серой, это означает, что эту кнопку выбора невозможно выбрать.
Приложение «Параметры»
В форме, показанной на рис. 3.13, используются кнопки выбора для выбора типа процессора и операционной системы для компьютера. Когда пользователь выбирает кнопку выбора в группе, заголовок метки изменяется, отражая текущий выбор. Рабочую версию этого примера см. в разделе Options.frm в примере приложения Controls.vbp.
В следующей таблице перечислены настройки свойств объекта в приложении.
События в приложении «Параметры»
Приложение параметров реагирует на события следующим образом:
События Click первых трех переключателей присваивают соответствующее описание строковой переменной strComputer на уровне формы.
События Click последних двух переключателей присваивают соответствующее описание второй переменной strSystem уровня формы.
Ключом к этому методу является использование этих двух переменных уровня формы: strComputer и strSystem. Эти две переменные имеют разные строковые значения, и окончательный выбор переключателя зависит от этих значений.
Каждый раз, когда выбирается новая кнопка выбора, код ее события Click обновляет значение соответствующей переменной.
PrivateSubopt586_Click()
strComputer=Пентиум
CallDisplayCaption
EndSub
Затем он вызывает процедуру DisplayCaption, которая объединяет две переменные и изменяет свойство Caption метки.
Субдисплейкаптион()
lblDisplay.Caption=Вы выбралиa&
_strComputer&running&strSystem
EndSub
Эта подпрограмма используется потому, что процесс изменения свойства Caption в основном одинаков для всех пяти переключателей, за исключением того, что значение переменной меняется в зависимости от ситуации. Это позволяет избежать дублирования одного и того же кода в каждом событии Click.
Подробности о переменных и подпроцессах обсуждаются в главе 5 «Основы программирования».
Использование ListBox и ComboBox
ListBox и ComboBox предоставляют пользователям выбор. По умолчанию параметры отображаются в одном вертикальном столбце, но их также можно установить в несколько столбцов. Если количество элементов превышает число, которое может отобразить ComboBox или ListBox, в элементе управления автоматически появляется полоса прокрутки. Затем пользователь может прокручивать список вверх, вниз, влево и вправо. На рис. 3.14 показан ListBox с одним столбцом.
ComboBox имеет функции как TextBox, так и ListBox. Этот элемент управления позволяет пользователю делать выбор, вводя текст или выбирая элементы в списке. На рис. 3.15 показано поле со списком.
В отличие от других элементов управления, которые содержат одно значение, таких как свойство Caption метки или свойство text TextBox, ListBox и ComboBox содержат несколько значений или коллекций значений. Используйте встроенные методы для добавления, удаления и сохранения значений в коллекции во время выполнения. Чтобы добавить несколько элементов в ListBox с именем List1, используйте следующий код: List1.AddItemParis.
List1.AddItemNewYork
List1.AddItemСан-Франциско
ListBox и ComboBox — это эффективные способы предоставить пользователям большое количество опций в ограниченном пространстве.
Дополнительные сведения об элементах управления ListBox и ComboBox см. в главе 7, «Использование стандартных элементов управления Visual Basic».
->