На многих формах в реальных приложениях имеется элемент интерфейса, называемый строкой состояния (StatusStrip). Обычно в строке состояния выводится некоторая текстовая или графическая информация, относящаяся к работе приложения. Строка состояния может быть разделена на несколько "панелей" (panel) - отдельных частей окна. В каждой из этих панелей информация выводится отдельно.
Создадим строку состояния, в которой будут выводиться текстовые сообщения, относящиеся к пунктам меню.
В окне Toolbox выделим пункт StatusStrip и перетащим его на форму (рисунок 6.1).
Рис. 6.1. Добавляем на форму строку состояния
Объекту класса StatusStrip присвоим имя statusStripEmployee. Откроем выпадающий список объекта класса statusBarEmployee и выберем объект StatusLable(рисунок 6.2). Присвоим ему имя toolStripStatusLabelEmployee.
Рис. 6.2. Добавляем метку в строку состояния
При компиляции, запуске приложения и выборе пункта меню "Сотрудник" экранная форма будет иметь вид, представленный на рисунке 6.3.
Рис. 6.3. Окно приложения со строкой состояния
|
|
Для управления текстом строки состояния необходимо разработать обработчик события для соответствующих объектов.
Для формы FormEmployee в строке состояний необходимо вывести информацию при наведении курсора мыши на пунктах меню "Действие". Первоначально в дизайнере формы необходимо выделить пункт меню "Действие", перейти на вкладку Properties и открыть окно событий, нажав кнопку На данной вкладке необходимо выделить событие MouseEnter и в поле ввода сделать двойной щелчок. (рисунок 6.4).
Рис. 6.4. Окно событий
Система сгенерирует код обработчика, приведенного ниже.
private void actionToolStripMenuItem_MouseEnter(object sender, EventArgs e){ }Добавим в обработчик следующий код:
private void actionToolStripMenuItem_MouseEnter(object sender, EventArgs e){ toolStripStatusLabelEmployee.Text = "Выбор действий по сотрудникам";}Если откомпилировать программу, запустить её, выбрать пункт меню "Сотрудник" и навести указатель мыши на пункт "Действие", то сгенерируется событие "MouseEnter" и в строке состояния выведется текстовое сообщение "Выбор действий по сотрудникам" (рисунок 6.5).
Рис. 6.5. Вывод сообщения в строке состояния
Если теперь переместить указатель мыши с пункта меню "Действие", то текст в строке состояния не изменится. Такой режим работы программы является неправильным, так как если указатель мыши перемещается с пункта меню "Действие", то строка состояния должна становиться пустой. Для обеспечения правильной работы программы воспользуемся ещё одним событием "MouseLeave", которое генерируется, когда мышь перемещается (покидает) с пункта меню "Действие". Обработчик данного события имеет следующий вид:
|
|
Вышеприведенные обработчики будут вызываться только тогда, когда пользователь наведет указатель мыши на пункт меню "Действие". Для того чтобы обработчики реагировали на все строки пунктов главного меню "Действие" и "Отчет" формы FormEmployee необходимо сформировать соответствующие события MouseEnter и MouseLeave для всех подпунктов меню и создать для них обработчики.
Результаты компиляции и выполнения приложения приведены на рисунке 6.6.
Рис. 6.6. Экранная форма со строкой состояния