Стандартные элементы управления
Рассматриваемые в данном разделе элементы управления включены во все издания Visual Basic.
Кнопка (CommanaButton)
Этот элемент управления используется для того, чтобы начать, прервать или закончить какой либо процесс. Кнопка встречается во всех приложениях Windows.
Главным событием для кнопки является Click. Кроме этого события, у кнопки могут быть и другие, но они применяются редко.
Для вызова события Click имеются разные способы. Самый простой - непосредственный щелчок н кнопке мышью. Это же событие вызывается также, если с помощью клавиши Tab переместить фокус на кнопку, затем нажать клавишу Enter. Можно программно вызвать событие Click, установив равным True значение свойства Value, доступного только во время выполнения.
Есть два интересных свойства кнопки, связанных с событием Click. Свойство Default определяет, что данная кнопка является кнопкой, активной по умолчанию. Если это свойство равно True, то нажатием клавиши Enter автоматически генерируется событие Click этой кнопки независимо от того, какой элемент имеет фокус. Присваивать значение True этому свойству можно только для одной кнопки в форме. Следует учитывать, что в этом случае нажатие клавиши Enter перехватывается и передается этой кнопке. Обычно кнопкой по умолчанию является кнопка ОК.
Свойство Cancel используется подобно Default. Оно обеспечивает перехват клавиши Esc и вызов события Click для соответствующей кнопки. Обычно это свойство имеют кнопки Cancel (Отмена).
Надпись (Label)
Надпись (Label) предназначена для отображения текста, который пользователь не может изменить с клавиатуры.
Хотя некоторые события этого элемента управления можно обрабатывать, обычно эта возможность не используется.
Самым важным свойством надписи является Caption, содержащее отображаемый текст. Воспользовавшись свойством BorderStyle, можно установить способ отображения текста - с рамкой или без нее. Оформлять текст можно, используя все возможности форматирования текста, доступные в окне свойств, - от вида и размера шрифта до цвета символов. Если текст длиннее, чем поле надписи, то оставшаяся часть текста просто не отображается (усекается).
Этого можно избежать, если присвоить значение True свойству AutoSize, что приводит размер надписи в соответствие с длиной текста. Таким же образом можно корректировать размер надписи и по вертикали. Для этого одновременно со свойством AutoSize нужно установить свойство Wordwrap. Тогда слова, не помещающиеся в строке, автоматически будут переноситься в следующую строку.
Установка в тексте надписи перед любой буквой символа амперсэнда (&) позволяет определить для выбора объекта клавишу быстрого доступа. Так как надпись не может получать фокус, она передает его следующему элементу управления. Если амперсэнд просто должен появляться в тексте без дальнейшего действия, следует отключить свойство UseMnemonic.
Текстовое поле (TextBox)
Текстовое поле (TextBox) является основным элементом управления, предназначенным для ввода данных.
При использовании текстового поля представляют интерес несколько событий. Прежде всего, это событие Change, которое вызывается при изменении содержимого текстового поля. Это событие происходит каждый раз при вводе, удалении или изменении символа. Например, при вводе в текстовое поле слов "Hello" событие Change вызывается пять раз - по одному разу для каждой буквы.
Для анализа введенного в поле текста лучше всего подходит событие LostFocus. Это событие вызывается после того, как текстовое поле становится неактивным (после передачи фокуса другому элементу, т.е. когда пользователь закончит ввод). Однако если это поле является единственным элементом управления в форме, оно не может потерять фокус.
Чтобы удалить или инициализировать содержимое текстового окна, используется событие GotFocus. Оно вызывается, когда пользователь "входит" в текстовое окно.
Можно воспользоваться и другими свойствами текстового поля. Самым важным является свойство Text. Это свойство содержит отображаемый в поле текст.
Элементы управления, которые разрешают ввод символов, имеют свойство Text, а элементы, предназначенные только для отображения текста, - свойство Caption. Текстовое поле подобно маленькому редактору. Чтобы использовать его в таком качестве, достаточно установить свойство MultiLine. Это дает возможность вводить в поле несколько строк.
В многострочном поле для перехода на новую строку можно использовать клавишу Enter. Но при этом следует помнить, что для некоторой кнопки, возможно, установлено свойство Default. Поэтому нажатие клавиши Enter вызовет срабатывание этой кнопки. В таком случае для перехода на новую строку надежнее использовать комбинацию клавиш Ctrl+Enter или Shift+Enter.
Если форма не содержит многострочное текстовое поле и кнопку по умолчанию, то нажатие клавиши Enter в текстовом поле,имеющем фокус, вызовет звуковой сигнал. Для предотвращения этого можно написать следующую процедуру обработки события KeyPress текстового поля:
Private Sub Textl_Keypress(KeyAscii As Integer)
If KeyAscii =13 Then KeyAscii = 0
End Sub
При этом клавиша Enter просто игнорируется.
При работе с многострочным текстовым полем можно столкнуться со следующей проблемой: если вводимый текст больше, чем может поместиться в текстовом поле, текст хотя и не усекается, но и не отображается полностью. Эта проблема решается установкой свойства ScrollBars. С его помощью можно определить, какую полосу прокрутки будет иметь текстовое поле: горизонтальную, вертикальную или обе. При этом полосы прокрутки функционируют самостоятельно, т.е. нет необходимости писать дополнительный код.
В текстовом поле, как это обычно делается в среде Windows, можно также выделять текст. Для этого Visual Basic предоставляет следующие три свойства текстового окна. Свойство SelStart определяет начальную позицию выделенного текста в символах. Свойство SelLength содержит количество выделенных символов. И, наконец, с помощью свойств SelText можно прочитать или изменить выделенный текст.
Иногда в поле требуется быстро удалить текст или заменить его новым. Для этого выделяется весь текст в поле, как только данное поле получает фокус.
Флажок (CheckBox)
Флажки - это элементы управления, которые можно отмечать (ставить "галочку"), выбирая из ряда опций одну или несколько. CheckBox может иметь два основных состояния - отмеченное и не отмеченное. В третьем состоянии он отображается как отмеченный, но недоступный. Установить такое состояние элемента управления можно только программно.
Важнейшим для флажка, как и для кнопки, является событие Click.
Единственным важным свойством элемента управления CheckBox является его значение (Value). В зависимости от того, отмечен флажок или нет, Value может принимать следующие значения: 0 – не отмечен, 1 – отмечен, 2 – отмечен, но недоступен.