Разработка Windows-приложений на языке C# 2005

Создание панели инструментов и контекстного меню

Показывать лекцию целиком

Цель работы: Изучить основные способы построения панели инструментов и контекстного меню, их параметры и получить практические навыки в разработке.

В приложении для повышения качества интерфейса пользователя целесообразно предусматривать различные способы активизации функций системы. При выполнении лабораторной работы 3 для приложения было создано меню, которое позволяет активизировать функции "Отменить", "Создать", "Редактировать", "Сохранить" и "Удалить". Данные функции могут быть активизированы с помощью кнопок панели инструментов и контекстного меню.

Разработка панели инструментов

Элемент управления ToolStrip используется непосредственно для построения панелей инструментов. Данный элемент использует набор элементов управления, происходящих от класса ToolStripItem.

В Visual Studio.NET предусмотрены средства, которые позволяют добавить панель инструментов при помощи графических средств. Для этого необходимо открыть панель Toolbox и добавьте элемент управления ToolStrip (рисунок 5.1) на разрабатываемую форму FormEmployee.

(рис 5.1) Окно свойств панели инструментов

В выпадающем меню элемента управления ToolStrip на форме FormEmployee необходимо выбрать элемент управления button - кнопка (рисунок 5.2). При этом в панели инструментов добавится кнопка.

(рис 5.2) Окно свойств панели инструментов

Добавьте на панель инструментов кнопки с именами toolStripButtonUndo, toolStripButtonNew, toolStripButtonEdit, toolStripButtonSave, toolStripButtonRemove. В результате должна быть сформирована панель инструментов с кнопками (рисунок 5.3).

(рис 5.3) Форма FormEmployee с панелью инструментов

Для кнопок панели инструментов сформируем графическое представление. Это можно сделать путем задания свойства Image соответствующей кнопке (рисунок 5.4).

При открытии коллекции свойства открывается окно мастера выбора графического ресурса (рисунок 5.5).

(рис 5.5) Свойство Image для кнопки панели инструментов(рис 5.4) Добавление изображения в ImageList

С помощью кнопки Import в локальный ресурс добавляют ссылки на необходимые графические файлы, для формирования изображения кнопок. Результаты формирования графического представления кнопок панель инструментов приведены на рисунке 5.6. Графические файлы расположены в папке Visual Studio 2005\VS2005ImageLibrary\bitmaps\commands\16color (для лабораторной работы графические файлы можно найти в папке Лабораторные работы).

(рис 5.6) Форма с панелью инструментов

Каждая кнопка панели инструментов, которая является объектом класса toolStripButton, может содержать текст, или изображение, или и то и другое.

Созданная панель инструментов содержит пять кнопок. По функциональности каждой из этих кнопок будут соответствовать пункты меню "Отменить", "Создать", "Редактировать", "Сохранить" и "Удалить".

Для удобства пользователя целесообразно снабдить кнопки панели инструментов всплывающими подсказками при фокусировке курсора на данной кнопке. Это можно сделать, если свойству ToolTipText класса toolStripButton задать значение текстовой строки с содержанием подсказки. На рисунке 5.7 для кнопки "Отменить" ( toolStripButtonUndo ) строка подсказки ToolTipText соответствует строке "Отменить".

На рис 5.8(рис 5.7) панели инструментов.

(рис 5.8) Вывод подсказки для кнопки

Для распознавания реакции приложения при нажатии кнопок панели инструментов необходимо создать обработчик события для кнопок. При двойном нажатии на кнопку панели инструментов генерируется обработчик, в который нужно добавить вызов метода Undo. В этом случае обработчик нажатия кнопки панели инструментов будет иметь следующий вид:

private void toolStripButtonUndo_Click(object sender, EventArgs e)
{
    Undo();
}

Контекстное меню

Класс ContextMenuStrip применяется для показа контекстного меню, или меню, отображаемого по нажатию правой кнопки мыши. Для создания объекта класса ContextMenuStrip необходимо открыть панель Toolbox и добавить элемент управления contextMenuStrip на форму FormEmployee (рисунок 5.9).

(рис 5.9) Формирование на форме контекстного меню

В результате получаем форму FormEmployee с контекстным меню (рисунок 5.10)

(рис 5.10) Форма с контекстным меню

Формирование пунктов контекстного меню производится аналогично формированию пунктов главного меню (смотри лабораторную работу 2). Сформированное контекстное меню приведено на рисунке 5.11.

(рис 5.11) Вид контекстного меню

После формирования пунктов контекстного меню необходимо его подключить к форме FormEmployee. Для этого на вкладке Свойства ( Properties ) формы FormEmployee строке, соответствующей свойству )

(рис 5.12) Подключение контекстного меню к форме

После компиляции проекта и запуска приложения на выполнение можно проверить режим активизации контекстного меню. Для этого необходимо выбрать из главного меню пункт "Сотрудник" и на появившейся форме в любом месте щелкнуть правой кнопкой мыши. Результат всплытия на форме контекстного меню показан на рисунке 5.13.

(рис 5.13) Активизация контекстного меню

Привязка пунктов контекстного меню к конкретным функциям осуществляется путем создания кода обработчика событий для каждого пункта меню. Для формирования обработчика необходимо перейти в окно дизайнера формы FormEmployee, выделить на форме класс ContextMenuStrip и сделать двойной щелчок на соответствующем пункте меню, например "Отменить". В сгенерированном обработчике необходимо добавить вызов метода, для функции "Отменить" - метод Undo( ). Листинг обработчика метода приведен ниже.

private void undo1ToolStripMenuItem_Click(object sender, EventArgs e)
{
    Undo();
}

Задание на лабораторную работу

  • Изучить теоретический материал.
  • Создать панель инструментов.
  • Создать контекстное меню.
  • Написать обработчики для панели инструментов и контекстного меню.
  • Протестировать работу приложения
  • Вернуться к учебному плану