Подробное рассмотрение. Детальнее о меню
Обновлен: Ноябрь 2007
На этом занятии вы узнаете, как включить или отключить меню во время выполнения и как создать всплывающее меню.
На предыдущем занятии было рассмотрено, как использовать элемент управления MenuStrip для создания меню, позволяющего пользователям выбирать команды, касающиеся программы. Однако в некоторых случаях выбор может быть произведен только в определенные моменты времени. Например, команда меню Копировать доступна только тогда, когда существует какой-либо объект, который может быть скопирован.
В большинстве программ недоступные команды меню не скрываются, а отключаются. При отключении элемента меню цвет его текста изменяется на серый, и при щелчке этого элемента никакие действия не выполняются. При использовании элемента управления MenuStrip можно отключить и включить элементы меню с помощью свойства EnabledMenuItem.
Практическое задание
Отключение и включение элементов меню
В меню Файл выберите команду Создать, а затем пункт Проект.
В диалоговом окне Создание проекта в области Шаблоны выберите Приложение Windows Forms.
В поле Имя введите Menus2 и нажмите кнопку ОК.
Откроется новый проект Windows Forms.
Из панели элементов перетащите элементы управления MenuStrip и TextBox в форму.
В форме щелкните элемент управления MenuStrip, введите Edit, , а затем нажмите клавишу ENTER.
В поле под первым полем введите Copy, и нажмите клавишу ENTER.
В окне Свойства установите свойство Enabled элемента CopyToolStripMenuItem равным False.
Дважды щелкните элемент управления TextBox, чтобы открыть редактор кода.
В обработчике событий TextBox1_TextChanged введите следующий код.
If Textbox1.Text <> "" Then CopyToolStripMenuItem.Enabled = True Else CopyToolStripMenuItem.Enabled = False End If
Нажмите клавишу F5 для запуска приложения. Щелкните меню Изменить — элемент Копировать отключен. Введите что-нибудь в элемент управления TextBox и снова перейдите в меню Изменить — элемент меню Копировать теперь включен.
Создание всплывающего меню
Многие программы используют всплывающие меню, также называемые контекстными меню, для обеспечения быстрого доступа к часто используемым командам. Для доступа к контекстному меню нужно щелкнуть в форме или элементе управления правой кнопкой мыши во время выполнения. В Visual Basic можно создавать собственные контекстные меню, используя элемент управления ContextMenuStrip.
Как и в случае элемента управления MenuStrip, при перетаскивании элемента управления ContextMenuStrip в форму элемент ContextMenuStrip отображается как поле в верхней части формы со словами "Прототип для текста" внутри, а соответствующий значок добавляется в область компонентов. В отличие от MenuStrip, дополнительные элементы могут быть добавлены только под первым пунктом с образованием вертикального меню.
Кроме того, элемент ContextMenuStrip может быть связан с формой или элементом управления, при щелчке на которых он должен появляться. Для этого нужно присвоить свойству ContextMenuStrip формы или элемента управления имя элемента управления ContextMenuStrip. Одно меню ContextMenuStrip можно связать с любым количеством элементов управления.
Практическое задание
Создание контекстного меню
В меню Файл выберите пункт Создать, а затем команду Проект.
В диалоговом окне Создание проекта в области Шаблоны выберите Приложение Windows Forms.
В поле Имя введите ContextMenus и нажмите кнопку ОК.
Откроется новый проект Windows Forms.
Из окна Панель элементов перетащите в форму элемент управления ContextMenuStrip.
Щелкните форму в представлении конструктора. В окне Свойства выберите свойство ContextMenuStrip формы, а затем выберите ContextMenuStrip1 в раскрывающемся списке.
В области компонентов, в нижней части интегрированной среды разработки (IDE), щелкните элемент управления ContextMenuStrip. В элементе управления ContextMenuStrip введите Option1, а затем нажмите клавишу ВВОД.
В поле под первым полем введите Option2 и нажмите клавишу ENTER.
Дважды щелкните элемент меню Option1, чтобы открыть редактор кода.
В обработчике событий Option1ToolStripMenuItem_Click введите следующий код.
MsgBox("You chose Option 1")
В редакторе кода выберите Option2ToolStripMenuItem в левом раскрывающемся списке, а затем выберите Click в правом раскрывающемся списке.
В редакторе кода появится новый обработчик событий Option2ToolStripMenuItem _Click.
В обработчике событий Option2ToolStripMenuItem_Click введите следующий код.
MsgBox("You chose Option 2")
Нажмите клавишу F5 для запуска приложения. Щелкните в форме правой кнопкой и выберите один из элементов в контекстном меню — появится окно сообщения, отображающее выбранный вариант.
Следующие действия
На этом занятии вы узнали, как включать и отключать меню и как создавать контекстное меню. В следующем разделе вы узнаете, как использовать другой тип элементов управления — Timer — для выполнения определенных действий.
Следующее занятие: Использование таймеров для выполнения регулярных действий
См. также
Задачи
Получение выбора пользователя. Создание меню во время разработки
Практическое руководство. Связывание объекта ContextMenuStrip с элементом управления
Ссылки
Общие сведения об элементе управления MenuStrip (Windows Forms)