Нажмите кнопку, чтобы выполнить действие
Самый простой способ взаимодействия пользователей с вашим приложением — предоставить им кнопку. Вы можете использовать элемент управления CommandButton, предоставляемый Visual Basic, или использовать элемент управления Image, содержащий графику, например значок, для создания собственной «кнопки».
Использование командной кнопки
Большинство приложений Visual Basic имеют кнопки CommandButton, которые позволяют пользователям выполнять действия простым нажатием кнопки. Когда пользователь выбирает кнопку, не только происходит действие, но и создается впечатление, что кнопка нажата и отпущена. Всякий раз, когда пользователь нажимает кнопку, вызывается процедура события Click. Напишите код в процедуру события Click, чтобы выполнить желаемое действие.
Существует множество способов выбрать CommandButton во время выполнения программы:
Нажмите кнопку мышкой.
Нажмите клавишу TAB, чтобы переместить фокус на соответствующую кнопку, а затем нажмите клавишу ПРОБЕЛ или клавишу ВВОД, чтобы выбрать кнопку. См. «Обзор фокуса» далее в этой главе.
Нажмите горячую клавишу CommandButton (подчеркнутый символ ALT).
Установите в коде для свойства Value CommandButton значение True. cmdClose.Value=Истина
Вызовите событие Click CommandButton в коде. cmdClose_Click
Если CommandButton является командной кнопкой формы по умолчанию, даже если фокус перемещается на другие элементы управления, которые не являются CommandButton, нажатие клавиши Enter выберет кнопку. Во время разработки укажите кнопку в качестве CommandButton формы по умолчанию, задав для ее свойства Default значение True.
Если CommandButton является кнопкой отмены формы по умолчанию, даже если фокус перемещается на другие элементы управления, кнопку можно выбрать, нажав клавишу ESC. Во время разработки укажите кнопку в качестве кнопки отмены по умолчанию, задав для ее свойства Cancel значение True. Все эти операции приводят к тому, что Visual Basic вызывает процедуру события Click.
Приложение «Тестовая кнопка»
Используйте атрибут Caption для отображения текста на кнопке, сообщающего пользователю, что делает кнопка. На рисунке 3.4 пример тестовой кнопки в примере приложения управления содержит CommandButton со свойством Caption ChangeSignal (этот пример работает для Buttons.frm в примере приложения Controls.vbp).
Обратите внимание, что S — это клавиша быстрого доступа для этой кнопки, обозначенная подчеркиванием. Вставка символа (&) в текст атрибута Caption сделает символы, следующие за этим символом, клавишей быстрого доступа для кнопки (например, Change&Signal).
Когда пользователь нажимает кнопку CommandButton, выполняется код процесса события Click кнопки CommandButton. В этом примере при каждом нажатии кнопки она будет меняться на другой значок светофора.
Дополнительные сведения о свойствах CommandButton см. в главе 7, «Использование стандартных элементов управления Visual Basic».
Элементы управления отображением и вводом текста
Элементы управления Label и TextBox используются для отображения и ввода текста. Используйте Label, когда приложение отображает текст в форме, и TextBox, когда пользователь может вводить текст. Текст в Labels доступен только для чтения, а текст в TextBox — редактируемый.
Текст, который может редактироваться пользователем, например текстовое поле последовательной записи.
поле или поле пароля
Текст, который можно только отобразить, например, идентифицирующий метку в форме.
поля или отображать инструкции пользователю
Метки и текстовые поля обсуждаются в следующих разделах:
Отображение текста с помощью меток (vbconUsingLabels). Базовые знания об использовании элементов управления Label.
Основы работы с TextBox с помощью TextBox (vbconWorkingWithTextBox).
Отображать текст с меткой
Текст, отображаемый элементом управления Label, не может быть изменен пользователем напрямую. Такие элементы управления, как TextBox и ScrollBar, не имеющие собственного свойства Caption, можно идентифицировать с помощью Label. Текст, фактически отображаемый в метке, контролируется свойством Caption, которое можно установить в окне «Свойства» во время разработки или назначить с помощью кода во время выполнения.
По умолчанию заголовок является единственной видимой частью элемента управления Label. Однако если вы установите для свойства BorderStyle значение 1 (что можно сделать во время разработки), то Label будет иметь рамку и будет выглядеть как TextBox. Вы также можете изменить внешний вид метки, задав ее свойства BackColor, BackStyle, ForeColor и Font.
Измените размер метки в соответствии с ее содержимым.
Заголовок однострочной Метки можно указать в окне «Свойства» во время проектирования. Но что, если вы хотите ввести более длинный заголовок или заголовок, который может измениться во время выполнения? Label предоставляет два свойства: AutoSize и WordWrap, которые помогут вам изменить размер элемента управления в соответствии с более длинным или коротким заголовком.
Свойство AutoSize определяет, будет ли элемент управления автоматически изменять размер в соответствии со своим содержимым. Если для этого свойства установлено значение True, метка будет меняться горизонтально в соответствии со своим содержимым, как показано на рисунке 3.5.
Свойство WordWrap заставляет метку изменяться по вертикали в соответствии с ее содержимым, сохраняя при этом ее ширину неизменной, как показано на рисунке 3.6. Рабочую версию этого примера см. в WordWrap.frm в примере приложения Controls.vbp.
Обратите внимание: если вы запустите пример AutoSize в Controls.vbp, вы обнаружите, что для одновременного использования WordWrap необходимо установить оба флажка. Это связано с тем, что для того, чтобы свойство WordWrap метки работало, необходимо установить для параметра AutoSize значение True. Ширина метки увеличится только в том случае, если ширина одного слова превышает текущую ширину элемента управления.
Дополнительные сведения о свойствах элемента управления Label см . в главе 7, «Использование стандартных элементов управления Visual Basic».
Использование текстовых полей
TextBox — это элемент управления общего назначения, который может вводить текст пользователем или отображать текст. Если для свойства Locked TextBox не установлено значение True, вы не сможете использовать TextBox для отображения текста, который вы не хотите, чтобы пользователь изменял.
Фактический текст, отображаемый в TextBox, контролируется свойством Text. Свойство Text можно задать тремя способами: в окне «Свойства» во время разработки, с помощью кода во время выполнения или посредством пользовательского ввода во время выполнения. Текущее содержимое TextBox можно получить во время выполнения, прочитав свойство Text.
Многострочное текстовое поле и WordWrap
TextBox по умолчанию отображает только одну строку текста и не отображает полосу прокрутки. Если текст длиннее доступного места, будет отображена только часть текста. Установив свойства MultiLine и ScrollBars (которые можно задать только при разработке программы), вы можете изменить внешний вид и поведение TextBox.
Будьте осторожны, не перепутайте свойство ScrollBars с элементом управления ScrollBar. Элемент управления ScrollBar не принадлежит TextBox и имеет собственный набор свойств.
Установка для свойства MultiLine значения True позволяет TextBox принимать или отображать несколько строк текста во время выполнения. Пока горизонтальная полоса прокрутки отсутствует, текст в многострочном текстовом поле автоматически переносится в соответствии со словом. По умолчанию для свойства ScrollBars установлено значение 0 (Нет). Автоматический перенос слов избавляет пользователей от необходимости вставлять разрывы строк в конце строк. Когда строка текста превышает длину отображения, TextBox автоматически сворачивает текст в следующую строку для отображения.
Во время разработки разрывы строк нельзя вводить в окне «Свойства». В ходе этого процесса можно создать точку останова на строке путем вставки возврата каретки и символа новой строки (символы ANSI 13 и 0). Вы также можете использовать константу vbCrLf для вставки комбинации возврата каретки и перевода строки. Например, следующая процедура обработки события представляет собой пример размещения двух строк текста в многострочном текстовом поле (Text1) при загрузке формы.
Подформа_Загрузка()
Text1.Text=Здесь две линии_
&vbCrLf&inatextbox
EndSub
Использование текста из TextBox
Используя свойства SelStart, SelLength и SelText TextBox, вы можете управлять точкой вставки и поведением выбора TextBox. Эти свойства доступны только во время выполнения.
Когда TextBox впервые получает фокус, точка вставки TextBox по умолчанию и позиция курсора находятся в крайнем левом углу текста. Пользователи могут перемещать их с помощью клавиатуры и мыши. Когда TextBox теряет фокус, а затем восстанавливает его, позиция точки вставки совпадает с последней позицией, установленной пользователем.
В некоторых случаях оно может не соответствовать пользовательским настройкам. Например: в приложении для обработки текста пользователь захочет, чтобы после существующего текста появлялись новые символы; в приложении для ввода данных пользователь захочет, чтобы его ввод заменял исходную запись. Используя свойства SelStart и SelLength, пользователь может изменить поведение TextBox по мере необходимости.
Свойство SelStart — это число, указывающее точку вставки в текстовую строку, где 0 представляет крайнюю левую позицию. Если значение свойства SelStart больше или равно количеству символов в тексте, точка вставки будет помещена после последнего символа, как показано на рисунке 3.7. Рабочую версию этого примера см. в разделе Text.frm в примере приложения Controls.vbp. Свойство SelLength — это значение, которое задает ширину точки вставки. Установка значения SelLength больше 0 приведет к выделению и выделению символов SelLength, начиная с текущей точки вставки. На рис. 3.8 показана эффективность выбора.
Если выделен фрагмент текста, текст, набранный пользователем, заменит выделенный текст. В некоторых случаях вы также можете использовать команду «Вставить», чтобы заменить исходный текст новым. Свойство SelText представляет собой текстовую строку, которой во время выполнения можно присвоить значение для замены текущего выбранного текста. Если выделенного текста нет, SelText вставит текст в текущую точку вставки.
Дополнительные сведения о свойствах элемента управления TextBox см. в главе 7, «Использование стандартных элементов управления Visual Basic».
Дополнительные сведения о свойствах элемента управления TextBox см. в главе 7, «Использование стандартных элементов управления Visual Basic».
->