Опубликован: 31.08.2006 | Уровень: специалист | Доступ: свободно
Лекция 5:

Работа с меню и диалоговыми окнами

Аннотация: В этой лекции вы узнаете, как предоставить пользователям разные варианты, используя для этого меню и диалоговые окна, как применять элемент управления MainMenu для добавления в вашу программу стандартных меню и как применять два элемента управления диалоговых окон

В этой лекции вы узнаете, как:

  • создать меню с помощью элемента управления MainMenu;
  • обработать выбор пункта меню в коде программы;
  • использовать элементы управления OpenFile, FileDialog и ColorDialog в специальных диалоговых окнах.

В "Работа с элементами управления из области элементов" элементы управления Microsoft Visual Studio использовались для получения ввода от пользователя, работающего с программой. В этой лекции вы узнаете, как предоставить пользователям разные варианты, используя для этого профессионально выглядящие меню и диалоговые окна. Меню расположено в строке меню и представляет собой список команд, объединенных в логические группы. Когда пользователь нажимает на названии группы, то в раскрывающемся списке появляются команды этого меню. Большинство команд меню исполняется немедленно после нажатия; например, если пользователь выбирает в меню Edit (Правка) команду Copy (Копировать), то информация немедленно копируется в буфер обмена. Однако если команда меню оканчивается многоточием (...),Visual Basic выводит диалоговое окно, запрашивающее перед исполнением команды дополнительную информацию. В этой лекции вы узнаете, как применять элемент управления MainMenu для добавления в вашу программу стандартных меню и как применять два элемента управления диалоговых окон.

Что нового в Visual Basic .NET?

  • Для создания меню больше не используется инструмент Menu Editor (Редактор меню), имевшийся в Visual Basic 6. Вместо этого с помощью элемента управления MainMenu в поле формы создается объект главного меню, а затем его свойства задаются в Menu Designer (Конструкторе меню). Однако выбор пунктов меню пользователем по-прежнему обрабатывается в коде программы.
  • При создании стандартных диалоговых окон больше не используется элемент управления CommonDialog. Вместо этого стандартные диалоговые окна добавляются в проект с помощью одного из семи элементов управления Windows Forms. Эти элементы управления называются OpenFileDialog, SaveFileDialog, FontDialog, ColorDialog, PrintDialog, PrintPreviewDialog и PageSetupDialog.
  • В составе форм теперь имеются метод ShowDialog и свойство DialogResult, что упрощает создание собственных форм, которые работают как стандартные диалоговые окна.

Добавление меню с помощью элемента управления MainMenu

Элемент управления MainMenu - это инструмент, с помощью которого в программу можно добавить меню и настроить их в окне Properties (Свойства). С помощью MainMenu можно добавлять новые меню, изменять и удалять существующие. В меню можно добавить специальные возможности: клавиши ускоренного доступа, отметки "включено/выключено" и сочетания клавиш. После того, как меню добавлено в форму, для обработки команд меню использовать процедуры обработки событий. В следующем упражнении с помощью элемента управления MainMenu мы создадим меню Clock, команды которого показывает текущую дату и время.

Создание меню

  1. Запустите Visual Studio.
  2. В меню File (Файл) выберите New (Создать), а затем Project (Проект). Появится диалоговое окно New Project (Создать проект).
  3. В папке c:\vbnet03sbs\Гл.4 создайте новый проект Windows Application на Visual Basic с именем MyMenu.
  4. Выберите элемент управления MainMenu на закладке Windows Forms окна области элементов и нарисуйте на поле формы элемент управления.

    Не беспокойтесь по поводу его расположения - Visual Studio автоматически передвинет этот элемент управления в нужное место и задаст его размер. Форма будет выглядеть примерно так.


    Объект главного меню появляется не на поле формы, а под ней. В предыдущих версиях Visual Basic все объекты показывались на самой форме. Но в Visual Studio .NET невидимые объекты, в том числе меню и таймеры, показываются в среде разработки на отдельной панели, которая называется областью компонентов. На этой панели их можно выделять, настраивать их свойства или удалять.

    В дополнение к объекту меню, расположенному в области компонентов, создаваемое в Visual Studio .NET меню графически изображается в верхней части формы. Чтобы ввести название меню, нужно щелкнуть по полю Type Here (Прототип для текста). После этого можно добавлять заголовки подменю и других меню, выбирая нужные поля с помощью стрелок и вписывая туда требуемые названия. Позже вы всегда сможете вернуться к этому встроенному Menu Designer (Конструктору меню) и отредактировать то, что уже сделано, или добавить новые пункты. Объект главного меню очень хорошо настраивается и позволяет создать решения с использованием меню, не уступающие лучшим Windows-приложениям.

  5. Щелкните на тэге Type Here (Прототип для текста), введите Дата, а затем нажмите клавишу (Enter). Слово "Дата" стало названием первого меню, и появились два новых поля Type Here (Прототип для текста), позволяющие создать элементы подменю или команды в меню Дата и дополнительные меню. В данный момент выберите подменю.

    Совет. Если меню с формы исчезает, выберите объект MainMenu1 в области компонентов, и оно снова появится.

  6. Чтобы в меню Дата создать новую команду, введите слово День, а затем нажмите клавишу (Enter). Visual Studio добавит команду к меню и выделит следующий элемент подменю.
  7. Наберите слово Время, а затем нажмите клавишу (Enter). Теперь у вас есть меню Дата с двумя командами меню - День и Время. Если необходимо, можно вводить дополнительные меню и команды, но для данного примера этого достаточно. Форма будет выглядеть примерно так.


  8. Чтобы закрыть Menu Designer (Конструктор меню), щелкните на поле формы. Menu Designer (Конструктор меню) закроется, и в среде разработки будет полностью видна форма, а меню исчезнет. Куда оно делось? Оно на месте, только не показывается. Чтобы увидеть меню и начать с ним работать, нужно щелкнуть на его названии.
  9. В поле формы нажмите слово Дата. Меню появляется снова, с уже знакомыми полями Type Here (Прототип для текста). Теперь его опять можно настраивать.
Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?