Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по C#.doc
Скачиваний:
259
Добавлен:
08.11.2018
Размер:
5.81 Mб
Скачать

Создание списка в окне интерфейса mdi с помощью MenuStrip

Для создания приложений, которые могут одновременно открывать несколько документов, а также копировать содержимое из одного документа и вставлять в другой, используется интерфейс MDI.

Эта процедура показывает, как создать список всех активных дочерних форм на меню родительского окна.

Пусть существуют родительская форма Form1 с программным меню и дочерняя форма Form2 со своим программным меню.

Чтобы создать список окон MDI для объекта MenuStrip:

присвойте свойству MdiWindowListItem элемента управления MenuStrip родительского окна значение ToolStripMenuItem с номером того пункта, в котором должен список создаваться.

Пример. Пусть в родительской форме меню Окна имеет название ToolStripMenuItem4, тогда если MdiWindowListItem=ToolStripMenuItem4 для родительского элемента управления MenuStrip, то в результате получим список открытых дочерних форм следующего вида:

Блокирование доступа к элементам меню ToolStripMenuItem

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

Чтобы отключить пункт меню программными средствами: в методе, который использовался для задания свойства пункта меню, добавьте код для присвоения свойству Enabled значения false.

menuItem1.Enabled = false;

Совет. Отключение первого пункта меню или элемента верхнего уровня в меню приведет к отключению всех пунктов меню. Аналогичным образом, отключение пункта меню, который имеет вложенное меню, приведет к отключению пунктов вложенного меню. Если пользователю становятся недоступны все команды конкретного меню, хорошим тоном считается отключать и скрывать меню целиком и предоставлять пользователю чистый интерфейс. Обязательно нужно скрывать и отключать меню, потому что скрытие меню не запрещает доступ к командам меню с помощью сочетаний клавиш. Чтобы скрыть меню полностью, установите для свойства Visible меню верхнего уровня значение false.

Скрытие объектов ToolStripMenuItem

Скрытие пунктов меню позволяет управлять пользовательским интерфейсом приложения и ограничивать использование команд пользователями. Во многих случаях, когда все пункты меню становятся недоступными, необходимо скрыть меню целиком. Это позволит пользователю меньше отвлекаться. Более того, можно одновременно скрыть и отключить меню или пункт меню, поскольку скрытие меню не запрещает доступ пользователя к командам меню с помощью сочетаний клавиш.

Чтобы отключить пункт меню программными средствами: в методе, который использовался для задания свойства элемента меню, добавьте код для присвоения свойству Visible значения false.

menuItem3.Visible = false;

        1. Контекстное меню ContextMenu

Компонент ContextMenu (Windows Forms) используется для предоставления пользователям доступного контекстного меню часто используемых команд, связанных с выделенным объектом.

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

Связь контекстного меню с элементом управления создается путем задания для свойства ContextMenu элемента управления компонента ContextMenu. Одно контекстное меню можно связать с несколькими элементами управления, но каждому элементу управления должно соответствовать только одно контекстное меню.

Ключевым свойством компонента ContextMenu является свойство MenuItems. Добавление пунктов меню может производиться путем программного создания объектов MenuItem и добавления их в свойство Menu.MenuItemCollection контекстного меню. Поскольку элементы контекстного меню обычно заимствуются из других меню, чаще всего они добавляются в контекстное меню путем копирования.

Элементы контекстного меню можно удалять без возможности восстановления; однако во время выполнения более целесообразным может оказаться скрытие или отключение элементов.

Чтобы создать контекстное меню

  1. Выберите в Панели элементов на вкладке Меню и панели инструментов элемент управления ContextMenuStrip и добавьте его на форму.

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

  1. Выберите поле MenuItem в списке с надписью "Введите здесь" в строке меню.

или

выберите в контекстном меню к иконке созданного контекстного меню ContextMenuItem команду Правка элементов.

или

щелкните по символу треугольника в верхнем правом углу иконки контекстного меню, чтобы открыть панель Задачи, и выберите команду Правка элементов:

В результате появится новый пункт меню под названием toolStripMenuItem№.

  1. В окне Свойства в свойстве Text введите название нового меню, например "Открыть".

Как только будет присвоено название новому меню в строке меню, справа появится поле нового элемента (чтобы вы могли добавить новое меню), а другое меню нового элемента откроется под первым меню, чтобы можно было добавлять подменю.