Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 523
Эндрю Троелсен
partial class MainWindow: Form {
// Используется для текущего значения выравнивания текста.
ContentAlignment currAlignment = ContentAlignment.MiddleCenter;
int currEnumPos = 0;
public MainWindow() {
InitializeComponent();
CenterToScreen();
}
private void btnStandard_Click (object sender, EventArgs e) {
// Получение всех значений перечня ContentAlignment,
Array values = Enum.GetValues(currAlignment.GetType());
// Чтение текущей позиции в перечне
// и циклический возврат.
currEnumPos++;
if (currEnumPos ›= values.Length) currEnumPos = 0;
// Чтение текущего значения перечня.
currAlignment = (ContentAlignment)Enum.Parse(currAlignment.GetType(), values.GetValue(currEnumPos).ToString());
// Вывод текста и его выравнивание на btnStandard.
btnStandard.TextAlign = currAlignment;
btnStandard.Text = сurrAlignment.ToString();
// Размещение пиктограммы на btnImage.
btnImage.ImageAlign = currAlignment;
}
}
Теперь запустите свою программу. При щелчке на средней кнопке вы увидите, что текст займет позицию и изменится в соответствии с текущим значением переменной currAlignment. Пиктограмма в пределах btnImage тоже займет позицию, cоответствующую этому значению. На рис. 21.7 показан вывод программы.
Рис. 21.7. Вариации типа Button
Исходный код. Проект Buttons размещён в подкаталоге, соответствующем главе 21.
Элементы CheckBox, RadioButton и Group Box
Пространство имен System.Windows.Forms определяет целый ряд других типов, расширяющих возможности ButtonBase, и это, в частности, тип CheckBox (кнопка с независимой фиксацией, может поддерживать до трех возможных состояний) и тип RadioButton (кнопка с зависимой фиксацией, может иметь два состояния – "включена" и "выключено"). Подобно типу Button, эти типы тоже наследуют заметную долю своих функциональных возможностей от базового класса Control. Однако каждый класс определяет и свои уникальные дополнительные возможности. Сначала мы рассмотрим базовые свойства элемента управлений CheckBox, описанные в табл. 21.5.
Таблица 21.5. Свойства CheckBox
Свойство | Описание |
---|---|
Appearance | Настраивает вид элемента управления Checkbox, используя значения перечня Appearance |
AutoCheck | Считывает или устанавливает значение, являющееся индикатором необходимости автоматического изменения значений Checked или CheckState и внешнего вида CheckBox при щелчке на нем |
CheckAlign | Считывает или устанавливает параметры выравнивания по горизонтали и вертикали для CheckBox, используя значения перечня ContentAlignment (во многом аналогично типу Button) |
Checked | Возвращает булево значение, представляющее состояние CheckBox (включен или выключен). Если свойство ThreeState равно true (истина), то свойство Checked возвращает true как для включенного, так и для неопределенного состояния |
CheckState | Считывает или устанавливает значение-индикатор включенного состояния CheckBox, используя значения перечня CheckState, а не булево значение |
ThreeState | Индикатор поддержки в CheckBox не двух, а трех состояний выбора (в соответствии с перечнем CheckState) |