Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 470
Эндрю Троелсен
currentCheckedItem.Checked = false;
…
if (miClicked.Name == "hugeToolStripMenuItem") {
currFontSize = TextFontSize.FontSizeHuge;
currentCheckedItem = hugeToolStripMenuItem;
}
if (miClicked.Name = "normalToolStripMenuItem") {
currFontSize = TextFontSize.FontSizeNormal;
currentCheckedItem = normalToolStripMenuItem;
}
if (miClicked.Name == "tinyToolStripMenuItem") {
currFontSize = TextFontSize.FontSizeTiny;
currentCheckedItem = tinyToolStripMenuItem;
}
// Установка отметки выбора для нового элемента.
currentCheckedItem.Checked = true;
…
}
На рис. 19.15 показан законченный проект MenuStripApp в действии.
Исходный код. Проект MenuStripApp размещен в подкаталоге, соответствующем главе 19.
Рис. 19.15. Установка и удаление отметок выбора для элементов ToolStripMenuItem
Работа с StatusStrip
В дополнение к системе меню многие формы предлагают поддержку
Хотя поддержка строк состояния (с помощью типа System.Windows.Forms. StatusBar) предлагается с момента появления платформы .NET, в .NET 2.0 вместо простого элемента StatusBar предлагается использовать новый тип StatusStrip. Подобно обычной строке состояния, StatusStrip может состоять из любого числа панелей, содержащих текстовые/графические данные, предоставленные типом ToolStripStatus. Однако StatusStrip может содержать и дополнительные элементы, например, следующего вида.
• ToolStripProgressBar – встроенный индикатор выполнения (хода задания).
• ToolStripDropDownButton – встроенная кнопка, отображающая при щелчке на ней раскрывающийся список вариантов выбора.
• ToolStripSplitButton – подобен ToolStripDropDownButton, но отображает элементы раскрывающегося списка только тогда, когда пользователь щелкает непосредственно в области раскрывающегося списка. ToolStripSplitButton предлагает также поведение, аналогичное обычной кнопке, и поэтому может поддерживать обработку события Click.
Для примера мы построим новый объект MainWindow, в котором поддерживается простое меню (Файл→Выход и Справка→О программе) и StatusStrip. Левая панель строки состояния будет использоваться для отображения строковых данных, соответствующих выбранному в настоящий момент элементу меню (например, при выборе пользователем элемента Выход в строке будет отображаться "Выход из приложения").
Средняя часть строки состояния будет отображать одну из двух динамически создаваемых значений, соответствующих текущему времени и текущей дате. Наконец, правая часть строки состояния будет представлять тип ToolStripDropDownButton, позволяющий пользователю переключиться с отображения даты на отображение времени и наоборот (да еще и с пиктограммой счастливого лица в придачу!). На рис. 19.16 показано окно приложения в своем окончательном варианте.
Рис. 19.16. Приложение StatusStrip