Поделиться через


Подробное рассмотрение. Детальнее о меню

Обновлен: Ноябрь 2007

На этом занятии вы узнаете, как включить или отключить меню во время выполнения и как создать всплывающее меню.

На предыдущем занятии было рассмотрено, как использовать элемент управления MenuStrip для создания меню, позволяющего пользователям выбирать команды, касающиеся программы. Однако в некоторых случаях выбор может быть произведен только в определенные моменты времени. Например, команда меню Копировать доступна только тогда, когда существует какой-либо объект, который может быть скопирован.

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

Практическое задание

Отключение и включение элементов меню

  1. В меню Файл выберите команду Создать, а затем пункт Проект.

  2. В диалоговом окне Создание проекта в области Шаблоны выберите Приложение Windows Forms.

  3. В поле Имя введите Menus2 и нажмите кнопку ОК.

    Откроется новый проект Windows Forms.

  4. Из панели элементов перетащите элементы управления MenuStrip и TextBox в форму.

  5. В форме щелкните элемент управления MenuStrip, введите Edit, , а затем нажмите клавишу ENTER.

  6. В поле под первым полем введите Copy, и нажмите клавишу ENTER.

  7. В окне Свойства установите свойство Enabled элемента CopyToolStripMenuItem равным False.

  8. Дважды щелкните элемент управления TextBox, чтобы открыть редактор кода.

  9. В обработчике событий TextBox1_TextChanged введите следующий код.

    If Textbox1.Text <> "" Then
      CopyToolStripMenuItem.Enabled = True
    Else
      CopyToolStripMenuItem.Enabled = False
    End If
    
  10. Нажмите клавишу F5 для запуска приложения. Щелкните меню Изменить — элемент Копировать отключен. Введите что-нибудь в элемент управления TextBox и снова перейдите в меню Изменить — элемент меню Копировать теперь включен.

Создание всплывающего меню

Многие программы используют всплывающие меню, также называемые контекстными меню, для обеспечения быстрого доступа к часто используемым командам. Для доступа к контекстному меню нужно щелкнуть в форме или элементе управления правой кнопкой мыши во время выполнения. В Visual Basic можно создавать собственные контекстные меню, используя элемент управления ContextMenuStrip.

Как и в случае элемента управления MenuStrip, при перетаскивании элемента управления ContextMenuStrip в форму элемент ContextMenuStrip отображается как поле в верхней части формы со словами "Прототип для текста" внутри, а соответствующий значок добавляется в область компонентов. В отличие от MenuStrip, дополнительные элементы могут быть добавлены только под первым пунктом с образованием вертикального меню.

Кроме того, элемент ContextMenuStrip может быть связан с формой или элементом управления, при щелчке на которых он должен появляться. Для этого нужно присвоить свойству ContextMenuStrip формы или элемента управления имя элемента управления ContextMenuStrip. Одно меню ContextMenuStrip можно связать с любым количеством элементов управления.

Практическое задание

Создание контекстного меню

  1. В меню Файл выберите пункт Создать, а затем команду Проект.

  2. В диалоговом окне Создание проекта в области Шаблоны выберите Приложение Windows Forms.

  3. В поле Имя введите ContextMenus и нажмите кнопку ОК.

    Откроется новый проект Windows Forms.

  4. Из окна Панель элементов перетащите в форму элемент управления ContextMenuStrip.

  5. Щелкните форму в представлении конструктора. В окне Свойства выберите свойство ContextMenuStrip формы, а затем выберите ContextMenuStrip1 в раскрывающемся списке.

  6. В области компонентов, в нижней части интегрированной среды разработки (IDE), щелкните элемент управления ContextMenuStrip. В элементе управления ContextMenuStrip введите Option1, а затем нажмите клавишу ВВОД.

  7. В поле под первым полем введите Option2 и нажмите клавишу ENTER.

  8. Дважды щелкните элемент меню Option1, чтобы открыть редактор кода.

  9. В обработчике событий Option1ToolStripMenuItem_Click введите следующий код.

    MsgBox("You chose Option 1")
    
  10. В редакторе кода выберите Option2ToolStripMenuItem в левом раскрывающемся списке, а затем выберите Click в правом раскрывающемся списке.

    В редакторе кода появится новый обработчик событий Option2ToolStripMenuItem _Click.

  11. В обработчике событий Option2ToolStripMenuItem_Click введите следующий код.

    MsgBox("You chose Option 2")
    
  12. Нажмите клавишу F5 для запуска приложения. Щелкните в форме правой кнопкой и выберите один из элементов в контекстном меню — появится окно сообщения, отображающее выбранный вариант.

Следующие действия

На этом занятии вы узнали, как включать и отключать меню и как создавать контекстное меню. В следующем разделе вы узнаете, как использовать другой тип элементов управления — Timer — для выполнения определенных действий.

Следующее занятие: Использование таймеров для выполнения регулярных действий

См. также

Задачи

Получение выбора пользователя. Создание меню во время разработки

Практическое руководство. Связывание объекта ContextMenuStrip с элементом управления

Ссылки

Общие сведения об элементе управления MenuStrip (Windows Forms)