Элемент управления TextBox (текстовое окно) предназначен для хранения текста (одной или нескольких строк). При желании текст в TextBox может быть настроен как "только для чтения", а в правой и нижней части можно поместить полосы прокрутки.
Класс TextBox происходит непосредственно от класса TextBoxBase, обеспечивает общими возможностями как TextBox, так и RichTextBox. Свойства, определенные в TextBoxBase, представлены в таблице 7.1.
Таблица 7.1. Свойства TextBoxBase | |
Свойство | Назначение |
AcceptsTab | Определяет, что будет производиться при нажатии на клавишу Tab: вставка символа табуляции в само поле или переход к другому элементу управления |
AutoSize | Определяет, будет ли элемент управления автоматически изменять размер при изменении шрифта на нем |
BackColor, ForeColor | Позволяют получить или установить значение цвета фона и переднего плана |
HideSelection | Позволяет получить или установить значение, определяющее, будет ли текст в TextBox оставаться выделенным после того, как этот элемент управления будет выведен из фокуса |
MaxLength | Определяет максимальное количество символов, которое можно будет ввести в TextBox |
Modified | Позволяет получить или установить значение, определяющее, был ли текст в TextBox изменен пользователем |
Multiline | Указывает, может ли TextBox содержать несколько строк текста |
Readonly | Помечает TextBox как "только для чтения" |
SelectedText, SelectionLength | Содержат выделенный текст (или определенное количество символов) в TextBox |
SelectionStart | Позволяет получить начало выделенного текста в TextBox |
Wordwrap | Определяет, будет ли текст в TextBox автоматически переноситься на новую строку при достижении предельной длины строки |
|
|
В TextBoxBase также определено множество методов: для работы с буфером обмена (Cut, Copy и Paste), отменой ввода (Undo) и прочими возможностями редактирования (Clear, AppendText и т. п.).
Из всех событий, определенных в TextBoxBase, наибольший интерес представляет событие TextChange. Это событие происходит при изменении текста в объекте класса, производном от TextBoxBase. Например, его можно использовать для проверки допустимости вводимых пользователем символов (например, предположим, что пользователь должен вводить в поле только цифры или, наоборот, только буквы).
Свойства, унаследованные от Control и от TextBoxBase, определяют большую часть возможностей TextBox. Свойств, определенных непосредственно в классе TextBox, не так уж и много. Они представлены в таблице 7.2.
Таблица 7.2. Свойства, определенные в классе TextBox | |
Свойство | Назначение |
AcceptsReturn | Позволяет определить, что происходит, когда пользователь при вводе текста нажал на Enter. Варианта два: либо в TextBox начинается новая строка текста, либо активизируется кнопка по умолчанию на форме |
CharacterCasing | Позволяет получить или установить значение, определяющее, будет ли изменяться регистр вводимых пользователем символов |
PasswordChar | Позволяет выбрать символ, используемый для отображения вводимых пользователем данных (в поле для ввода пароля) |
ScrollBars | Позволяет получить или установить значение, определяющее, будут ли в TextBox с несколькими строками присутствовать полосы прокрутки |
TextAlign | Позволяет определить выравнивание текста в TextBox (используются значения из перечисления HorizontalAlignment) |
|
|
Значения перечисления HorizontalAlignment представлены в таблице 7.3.
Таблица 7.3. Значения перечисления HorizontalAlignment | |
Значение | Описание |
Center | Выравнивание по центру |
Left | Выравнивание по левому краю |
Right | Выравнивание по правому краю |
Класс Button
Кнопка (button) - это самый простой из всех элементов управления и при этом наиболее часто используемый. Можно сказать, что кнопка - это возможность принять ввод (щелчок кнопкой мыши или набор на клавиатуре) наиболее простым способом. Непосредственный предок класса System.Windows.FormButton в иерархии классов.NET - это класс ButtonBase, обеспечивающий общие возможности для целой группы производных от него элементов управления (таких как Button, CheckBox и RadioButton). Некоторые свойства ButtonBase представлены в таблице 7.4.
Таблица 7.4. Свойства ButtonBase | |
Свойство | Назначение |
FlatStyle | Позволяет настроить "рельефность" кнопки. Используются значения из перечисления FlatStyle |
Image | Позволяет задать изображение, которое будет выводиться на кнопке (при этом можно указать точное местонахождение изображения). Фоновый рисунок лучше настраивать при помощи свойства BackgroundImage, определенного в базовом классе Control |
ImageAlign | Позволяет определить выравнивание изображения, размещенного на кнопке. Используются значения из перечисления ContentAlignment |
Imagelndex, ImageList | Эти свойства используются для работы с набором изображений (объектом ImageList), выводимых на кнопке |
IsDefault | Определяет, будет ли эта кнопка являться кнопкой по умолчанию (то есть срабатывать при нажатии на Enter) |
TextAlign | Позволяет получить или установить выравнивание текста на кнопке. Также используются значения из перечисления ContentAlignment |
Сам класс Button не определяет каких-либо дополнительных возможностей помимо унаследованных от ButtonBase, за единственным, но существенным исключением свойства DialogResult. Это свойство позволяет возвращать значение при закрытии диалогового окна, например, при нажатии кнопок ОК или Cancel (Отменить).
В подавляющем большинстве случаев выравнивание текста, размещенного на кнопке, производится по центру, так что текст будет размещен строго посередине кнопки. Однако если нам по каким-то причинам необходимо использовать другой стиль выравнивания, в нашем распоряжении - свойство TextAlign, определенное в классе ButtonBase. Для TextAlign используются значения из перечисления ContentAlignment (таблица 7.5). Значения из того же перечисления используются и для определения положения изображения на кнопке.
Таблица 7.5. Значения перечисления ContentAlignment | |
Значение | Описание (выравнивание) |
BottomCenter | По нижнему краю кнопки, относительно боковых краев - посередине |
BottomLeft | Но нижнему краю кнопки, слева |
BottomRight | По нижнему краю кнопки, справа |
MiddleCenter | По центру кнопки |
MiddleLeft | Относительно верхнего и нижнего краев - по центру, относительно боковых краев - слева |
MiddleRight | Относительно верхнего и нижнего краев - по центру, относительно боковых краев - справа |
TopCenter | По верхнему краю кнопки, относительно боковых краев - посередине |
TopLeft | По верхнему краю кнопки, слева |
TopRight | По верхнему краю кнопки, справа |
Флажки
Для флажка (тип CheckBox) предусмотрено три возможных состояния. Как и тип Button, CheckBox наследует большую часть своих возможностей от базовых классов Control и ButtonBase. Однако в этом классе существуют и свои собственные члены, обеспечивающие дополнительные уникальные возможности. Наиболее важные свойства CheckBox представлены в таблице 7.6.
|
|
Таблица 7.6. Свойства класса CheckBox | |
Свойство | Назначение |
Appearance | Настраивает вид флажка. Для этого свойства используются значения из перечисления Appearance |
AutoCheck | Позволяет получить или установить значение, определяющее, будут ли значения Checked и CheckState, а также внешний вид флажка автоматически изменяться при щелчке на нем |
CheckAlign | Позволяет установить горизонтальное и вертикальное выравнивание собственно флажка (квадратика) в элементе управления CheckBox. Используются значения из перечисления ContentAlignment |
Checked | Возвращает значение типа bool, представляющее текущее состояние флажка (выбран или не выбран) Если для свойства ThreeState установлено значение true, то свойство Checked будет возвращать true как для явно выбранного флажка, так и для того флажка, для которого установлено значение "не определено" (indeterminate) |
CheckState | Позволяет получить или установить значение флажка (установлен - не установлен - не определено), используя не true и false, как в Checked, а три значения из перечисления CheckState. Обычно используется, если свойство ThreeState для флажка имеет значение true (то есть он допускает три значения). |
ThreeState | Определяет, будут ли для флажка использоваться три значения (из перечисления CheckState) или только два |
Возможные состояния флажка (Indeterminate можно использовать только тогда, когда для свойства ThreeState установлено значение true) представлены в таблице 7.7.
Таблица 7.7. Значения перечисления CheckState | |
Значение | Описание |
Checked | Флажок установлен |
Indeterminate | Значение не определено (обычно флажок выглядит как "серый", затененный) |
Unchecked | Флажок снят |
Состояние "значение не определено" (indeterminate) может быть установлено, например, для верхнего элемента иерархии, в которой для одной части подчиненных элементов флажок установлен, а для другой - снят.
|
|