|
Программирование >> Обработка исключительных ситуаций
Глава 14. Введение в программирование под Windows Листинг 14.3 (продолжение) else 1abel2.Left 1abel2.Text double koef label3.Text = пользователь угадал 32: восстановить начальное положение метки Коэффициент невезучести ; 1.0 * k / max: koef.ToStringO; buttonl.Visible true; private void buttonl Click(object sender. System.EventArgs e) i = md.Next(max) k = 0; textBoxl.CI ear() textBoxl.Focus О label 2.Text = 1abel3.Text = загадано число в диапазоне от 0 до max обнуление количества попыток ответа поле ввода очищено курсор установлен на поле ввода метки очищены Меню MainMenu и ContextMenu Главное меню MainMenu размещается на форме таким же образом, как и другие компоненты: двойным щелчком на его значке на панели Toolbox. При этом значок располагается под заготовкой формы, а среда переходит в режим редактирования пунктов меню. Каждый пункт меню представляет собой объект типа Menultem, и при вводе пункта меню мы задаем его свойство Text. Переход к заданию заголовка следующего пункта меню выполняется либо щелчком мыши, либо нажатием клавиши Enter и клавиш со стрелками. Обычно, чтобы сделать программу понятнее, изменяют также свойства Name каждого пункта так, чтобы они соответствовали названиям пунктов. Пункт меню может быть запрещен или разрешен (свойство Enabled), видим или невидим (Visible) , отмечен или не отмечен (Checked). Заготовка обработчика событий формируется двойным щелчком на пункте меню. Любое приложение обычно содержит в меню команду Exit, при выборе которой приложение завершается. Для закрытия приложения можно воспользоваться либо методом Close класса главной формы приложения, либо методом Exit класса Appl i cati on, например: private void Exit Click(object sender, EventArgs e) { CloseO: или: Application.ExitO; имя пункта меню - Exit Элементы управления 331 Контекстное меню. - это меню, которые вызывается во время выполнения программы по нажатию правой кнопки мыши на форме или элементе управления. Обычно в этом меню размещаются пункты, дублирующие пункты главного меню, или пункты, определяющие специфические для данного компонента действия. Контекстное меню ContextMenu создается и используется аналогично главному (значок контекстного меню появляется на панели инструментов, если воспользоваться кнопкой прокрутки). Для привязки контекстного меню к компоненту следует установить значение свойства ContextMenu этого компонента равным имени контекстного меню. Флажок CheckBox Флажок используется для включения-выключения пользователем какого-либо режима. Для проверки, установлен ли флажок, анализируют его свойство Checked, принимающее значение true или false. Флажок может иметь и третье состояние - установлен, но не полностью . Как правило, это происходит в тех случаях, когда устанавливаемый режим определяется несколькими подрежимами , часть из которых включена, а часть выключена. В этом случае используют свойство CheckState, которое может принимать значения Checked, Unchecked и Intermediate. Кроме того, флажок обладает свойством ThreeState, которое управляет возможностью установки третьего состояния пользователем с помощью мыши. Для флажка можно задать цвет фона и фоновое изображение так же, как и для метки. Свойство Appearance управляет отображением флажка: либо в виде собственно флажка (Normal), либо в виде кнопки (Button), которая залипает при щелчке на ней мышью. Флажки используются в диалоговых окнах как поодиночке, так и в группе, причем все флажки устанавливаются независимо друг от друга. Пример приложения с флажками приведен далее в этой главе. Переключатель RadioButton Переключатель позволяет пользователю выбрать один из нескольких предложенных вариантов, поэтому переключатели обычно объединяют в групп1. Если один из них устанавливается (свойство Checked), остальные автоматически сбрасываются. Программист может менять стиль и цвет текста, связанного с переключателем, и его выравнивание. Для переключателя можно задать цвет фона и фоновое изображение так же, как и для метки. Переключатели можно поместить непосредственно на форму, в этом случае все они составят одну группу. Если на форме требуется отобразить несколько групп переключателей, их размещают внутри компонента Group или Panel. Свойство Appearance управляет отображением переключателя: либо в традиционном виде (Normal), либо в виде кнопки (Button), которая залипает при щелч-1 ке на ней мышью . Пример использования переключателей приведен далее в этой главе. 1 При установке для свойства AutoCheck значения false кнопка не залипает . Панель GroupBox Глава 14. Введение в программирование под Windows Панель GroupBox служит для группировки элементов на форме, например для того, чтобы дать общее название и визуально выделить несколько переключателей или флажков, обеспечивающих выбор связанных между собой режимов. Приведенная в листинге 14.4 программа запрашивает у пользователя, массив какой длины он хочет создать, и создает целочисленный массив с помощью генератора случайных чисел. Пользователь может выбрать диапазон значений элемен-тов.либо [-10; 10], либо [-100; 100]. После создания массива можно вычислить его максимальный элемент и/или количество положительных элементов. Окно приложения показано на рис. 14.9. Для удобства имена (свойство Name) большинства компонентов изменены, как указано на рисунке. Переключатели размещены на панели типа GroupBox. Установлено свойство Checked компонента radioButtonl, очищены все поля ввода, а для полей maxtextBox и numPosittextBox установлено свойство Readonly (только для чтения). Вычнс 1ения в массиве Количество рЗнмацпдамвилж-j j { < ttlOl С М00; j И!П!!х массив J
Рис. 14.9. Окно приложения для вычислений в массиве ПРИМЕЧАНИЕ - При визуальном проектировании важно размещать компоненты приятным глазу образом. При этом удобно пользоваться командами меню Format, предварительно выделив нужные компоненты, обводя их мышью или выделяя мышью при нажатой клавише Shift или Ctrl. Например, можно выровнять компоненты по левому краю, выделив их и воспользовавшись командой меню Format Align Lefts. Все действия в программе выполняются щелчками на двух кнопках, то есть обрабатываются два события CI ick. Листинг 14.4. Вычисления в массиве using System; using System.Drawing; . using System.Collections; using System.ComponentModel;
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |