Текст на кнопке может быть только однострочным. Если он не помещается на кнопке, то будет обрезан. Поэтому нужно быть очень осторожным при выборе текста для кнопки. В следующей главе, посвященной улучшениям элементов управления, приведен пример создания кнопки с многострочным текстом, которая создается при помощи неуправляемого кода с использованием функций Windows API.
Функциональность элемента управления Button
Image и ImageList, которые применяются для отображения на кнопке графики.Элемент TextBox
В предыдущем примере дата отображалась в текстовом поле. Это поле создается при помощи класса TextBox
BackColor и ForeColor. Событие Click элементом TextBox не поддерживается, но разработчик может воспользоваться событиями KeyPress, KeyUp и KeyDown. Следует отметить особенность этого элемента. Несмотря на то что класс TextBox поддерживает свойство PasswordChar, при вводе пароля на экране всегда будет использоваться символ звездочки. Задать другой символ не получится.Также текстовое поле не поддерживает свойство CharacterCasing
private void txtCurTime_KeyPress(object sender, KeyPressEventArgs e) {
if (Char.IsLetter(e.KeyChar)) {
// сохраняем текущую позицию каретки
int pos = txtCurTime.SelectionStart;
// переводим в верхний регистр
txtCurTime.Text =
txtCurTime.Text.Insert(txtCurTime.SelectionStart,
Char.ToUpper(e.KeyChar).ToString());
// перемещаем каретку в новую позицию
txtCurTime.SelectionStart = pos + 1;
e.Handled = true;
}
}
У смартфонов внешний вид текстовых полей несколько отличается от стандартного вида. В частности, текстовое поле не имеет окантовки. Более подробно о текстовых полях в приложениях для смартфонов рассказывается в соответствующей главе.
Элемент Label
В рассмотренном примере также использовался элемент Label
Text. Текст на экране можно выравнивать с помощью свойства TextAlign. Разработчик может использовать значения TopLeft, TopCenter и TopRight. При изменении текста в метке инициируется событие TextChanged. При создании элемента нужно следить за длиной отображаемой строки. Если текст слишком большой и не помещается в пределах элемента, то он попросту обрезается.В отличие от полной версии .NET Framework, элемент Label в .NET Compact Framework не поддерживает такие свойства, как AutoSize
BorderStyle, Image, ImageList и многие другие. Также не поддерживается событие Click. Впрочем, на практике редко возникает нужда в обработке этого события.Элемент RadioButton
Элемент управления RadioButton
Panel.Когда пользователь выбирает один переключатель, то остальные переключатели в контейнере автоматически переводятся в выключенное состояние. Приложение может иметь несколько групп элементов RadioButton
При изменении состояния переключателя в классе RadioButton
Click и CheckedChanged. Событие Click возникает, когда пользователь щелкает стилусом на самом переключателе. Событие CheckedChanged возникает, когда состояние элемента RadioButton меняется программно или в результате действий пользователя. Событие Click не инициируется, когда свойство CheckedChanged меняется программно.