Опубликован: 09.09.2008 | Уровень: специалист | Доступ: платный
Самостоятельная работа 5:

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

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

В приложении для повышения качества интерфейса пользователя целесообразно предусматривать различные способы активизации функций системы. При выполнении лабораторной работы 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).

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

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

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

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

Свойство Image для кнопки панели инструментов

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

Рис. 5.5. Добавление изображения в ImageList

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

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

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

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

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

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

Формирование подсказки для кнопки

Рис. 5.7. Формирование подсказки для кнопки

На рисунке 5.8 показан вывод подсказки при фокусировке курсора на кнопкепанели инструментов.

Вывод подсказки для кнопки

Рис. 5.8. Вывод подсказки для кнопки

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

private void toolStripButtonUndo_Click(object sender, EventArgs e)
{
    Undo();
}
Анна Иваненко
Анна Иваненко

В самостоятельной работе 8 написано: "В пункте "Server name" задаем имя сервера, которое необходимо узнать у преподавателя". Где узнать это имя?

Вячеслав Шестивский
Вячеслав Шестивский

Вроде всё выставил верно, но при клике на "Сотрудники", меню из FormEmplyee не вставляется в меню главного окна а висит в дочернем окне снизу.  Как поправить?

Татьяна Ковалюк
Татьяна Ковалюк
Украина, Киев, Киевский политехнический институт, 1974
Анастасия Балыбердина
Анастасия Балыбердина
Украина, Киев, НТУУ КПИ