Создание пользовательских диалоговых окон, панели инструментов
Контекстного меню и строки состояния клиентского приложения ИС
Цель работы: Изучить основные способы разработки главного меню приложении. Получить практические навыки в создании главного меню приложения. Изучить основные способы разработки многооконных приложений, способы построения диалоговых окон, их параметры, способы построения панели инструментов и контекстного меню, их параметры
План проведения занятия
1. Изучить теоретический материал.
2. Создать главное меню для пунктов главного меню создать подпункты
3. Создать дочернее окно. В дочернее окно добавить пункты меню.Написать обработчик для вызова из главного меню дочернего окна.
4. Создать модальное диалоговое окно с помощью класса MessageBox. пользовательское модальное диалоговое окно для пункта меню "О программе". Написать обработчики для вызова модальных окон.
5. Создать коды методов-заглушек для функций приложения.
6. Создать обработчики для вызова пунктов меню, панели инструментов и контекстного меню
7. Протестировать работу приложения.
Краткие теоретические сведения
Создание меню в режиме проектирования
Для построения в режиме проектирования главного меню и связанной с ним структуры достаточно перетащить на форму элемент управления, называемый MainMenu. (В Visual Studio 2005 элемент управления для создания меню называется MenuStrip, а для создания инструментальных панелей - ToolStrip.)
После перетаскивания метка с изображением этого элемента управления появляется ниже формы, а на форме появляется элемент меню с информационным полем, в котором можно задать название пункта меню, и двумя указателями на правого брата и старшего сына, позволяющими перейти к следующему пункту меню того же уровня или опуститься на нижний уровень. Технология создания меню вручную интуитивно ясна и не вызывает обычно никаких проблем
В пространстве имен System.Windows.Forms предусмотрено большое количество типов для организации ниспадающих главных меню (расположенных в верхней части формы) и контекстных меню, открывающихся по щелчку правой кнопки мыши.
Элемент управления ToolStrip представляет собой контейнер, используемый для создания структур меню, панелей инструментов и строк состояний.
Элемент управления MenuStrip - это контейнер для структур меню в приложении. Этот элемент управлении наследуется от ToolStrip. Система меню строится добавлением объектов ToolStripMenu к menuStrip.
Класс ToolStripMenuItem служит для построения структур меню. Каждый объект ToolStripMenuItem представляет отдельный пункт в системе меню.
Для отображения диалогового окна использовался метод Show, передав ему через параметр текст сообщения "метод Undo". Прототип использованного метода Show следующий:
public static DialogResult Show(string message);Когда пользователь щелкает кнопку ОК, метод Show возвращает значение, равное DialogResult.OK
Прототип наиболее общего варианта метода MessageBox.Show, позволяющий реализовать практически все возможности диалогового окна MessageBox, приведен ниже
public static DialogResult Show{string message, // текст сообщенияstring caption, // заголовок окнаMessageBoxButtons btns, // кнопки, расположенные в окнеMessageBoxIcon icon, // значок, расположенный в окнеMessageBoxDefaultButton defButton, // кнопка по умолчаниюMessageBoxOptions opt // дополнительные параметры};Параметр caption позволяет задать текст заголовка диалогового окна MessageBox. С помощью параметра btns можно указать, какие кнопки необходимо расположить в окне диалогового окна. Этот параметр задается константами из перечисления MessageBoxButtons
Параметр icon метода MessageBox.Show позволяет выбрать один из нескольких значков для расположения в левой части диалогового окна. Он задается в виде константы перечисления MessageBoxIcon
Порядок выполнения работы
Задание 1.
Создание меню
1. Создайте стандартное ниспадающего меню, позволяющее пользователю выйти из приложения, выбрав пункт Объект / Выход. Для этого перетащите элемент управления MenuStrip на форму в конструкторе рис. 10.1.
Главное меню, должно включать следующие пункты: "Объект", "Справочник", "Справка".
При помощи графических средств можно настроить свойства любого элемента меню. Для пунктов меню задайте свойства:
"Объект" - свойство Name равным objektToolStripMenuItem,
"Выход" - exitToolStripMenuItem,
"Справка" - HelpToolStripMenuItem.
Рис. 10.1. Элемент управления MenuStrip
2. Для пункта "Объект" создать следующие подпункты: "Сотрудник", "Клиент", "Договор", "Поручение", "Сделка", "Выход.
Элемент управления MenuStrip позволит вводить текст меню непосредственно в элементы меню рис. 10.2.
Рис. 10.2. Простое меню на форме
3. Для пункта "Справочник" создать следующие подпункты: "Должность", "Страна", "Регион", "Город", "ИМНС". Для пункта "Справка" создать подпункт - "О программе".
Сделайте двойной щелчок на пункте меню "Выход" объект xitToolStripMenuItem Visual Studio автоматически сгенерирует оболочку для обработчика события Click и перейдет в окно кода, в котором нам будет предложено создать логику метода (в нашем случае exitToolStripMenuItem_Click):
private void exitToolStripMenuItem_Click(object sender, EventArgs e){// Здесь мы определяем реакцию на выбор пользователем пункта меню}4. На вкладке Свойства (Properties) при выводе окна событий, нажмите кнопку событию Click будет соответствовать метод menuItemExit_Click рис. 10.3.
Рис. 10.3. Событие Click и обработчик события exitToolStripMenuItem_Click
5. Напишите код обработчика для корректного завершения приложения exitToolStripMenuItem_Click. Это можно сделать с помощью метода Exit класса Application:
private void exitToolStripMenuItem_Click(object sender, EventArgs e){Application.Exit();}6. Протестируйте созданное меню, для этого создайте обработчик для пункта меню "Объект", который будет сообщать, что выбран именно этот пункт меню:
private void objektToolStripMenuItem_Click(object sender, EventArgs e){MessageBox.Show("Пункт меню Объект");}При создании меню графическими средствами Visual Studio автоматически внесет необходимые изменения в служебный метод InitializeComponent и добавит переменные-члены, представляющие созданные элементы меню.
Задание 2.
Создание дочерней формы
Основа Интерфейса (MDI) приложения - MDI родительская форма. Это - форма, которая содержит MDI дочерние окна. Дочерние окна являются "подокнами", с которыми пользователь взаимодействует в MDI приложении.
1. Для определения главного окна (Form1), как родительской формы в окне Свойств, установите IsMDIContainer свойство - true. Это определяет форму как MDI контейнер для дочерних форм. Для того чтобы родительское окно занимало весь экран необходимо свойству WindowsState установить значение Maximized.
2. Создайте еще одно окно, которое будет дочерним (FormEmployee). Для этого выберите пункт меню Project/Add Windows Form.Это окно должно вызываться из пункта главного меню "Сотрудник".
3. Вставьте код, подобный следующему, чтобы создать новую MDI дочернюю форму, когда пользователь щелкает на пункте меню, например "Сотрудник" - имя объекта - employeeToolStripMenuItem (В примере ниже, указатель события обращается к событию Click для employeeToolStripMenuItem_Click).
Данный обработчик приведет к выводу на экран дочернего окна
private void menuItemEmploye_Click(object sender, System.EventArgs e)
{ // Создать объект FEmployee класса FormEmployeeFormEmployee FEmployee = new FormEmployee();// Установить родительское окно для дочернегоFEmployee.MdiParent = this;// Вывести на экран дочерее окноFEmployee.Show();}Задание 3.