Пример. Создание формы MDI путем слияния меню и с применением и элементов управления ToolStrip
Обновлен: Ноябрь 2007
Пространство имен System.Windows.Forms поддерживает приложения с многооконным интерфейсом (MDI), а элемент управления MenuStrip поддерживает слияние меню. Формы MDI могут также содержать элементы управления ToolStrip.
Это пошаговое руководство демонстрирует использование элементов управления ToolStripPanel с формой MDI. Эта форма также поддерживает слияние меню с вложенными меню. В этом пошаговом руководстве проиллюстрированы следующие задачи:
Создание проекта типа Windows Forms
Создание главного меню для формы. Фактическое имя меню может отличаться.
Добавление элемента управления ToolStripPanel на панель элементов.
Создание дочерней формы.
Упорядочивание элементов управления ToolStripPanel в соответствии с z-порядком.
Когда выполнение примера будет завершено, получится форма MDI, поддерживающая слияния меню и перемещаемые элементы управления ToolStrip.
Чтобы скопировать весь текст кода из этой темы, см. ссылку Практическое руководство. Создание формы MDI путем слияния меню и с применением и элементов управления ToolStrip.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска среды. Для изменения настроек выберите Параметры импорта и экспорта в меню Сервис. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Для выполнения этого пошагового руководства потребуется:
- Разрешения, необходимые для создания и выполнения проектов приложений Windows Forms на компьютере, на котором установлена Visual Studio.
Создание проекта
Для начала следует создать проект и подготовить форму.
Чтобы создать проект
Создайте проект "Приложение Windows" с названием MdiForm.
Дополнительные сведения см. в разделе Практическое руководство. Создание проекта приложения Windows.
В конструкторе Windows Forms выберите форму.
В окне "Свойства" установите значение IsMdiContainer на true.
Создание главного меню.
Родительская форма MDI содержит главное меню. В главном меню есть один элемент с названием Окно. С помощью элемента меню Окно можно создать дочерние формы. Элементы меню из дочерних форм сливаются с главным меню.
Чтобы создать главное меню
Из панели элементов перетащите на форму элемент управления MenuStrip.
Добавьте элемент ToolStripMenuItem в элемент управления MenuStrip и присвойте ему имя Окно.
Выберите элемент управления MenuStrip.
В окне "Свойства" установите для свойства MdiWindowListItem значение ToolStripMenuItem1.
Добавьте подэлемент в элемент меню Окно и присвойте этому подэлементу имя Новый.
В окне "Свойства" нажмите кнопку События.
Дважды щелкните событие Click.
Конструктор Windows Forms генерирует обработчик события Click.
Вставьте следующий код в обработчик события.
' This method creates a new ChildForm instance ' and attaches it to the MDI parent form. Private Sub newToolStripMenuItem_Click( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles newToolStripMenuItem.Click Dim f As New ChildForm() f.MdiParent = Me f.Text = "Form - " + Me.MdiChildren.Length.ToString() f.Show() End Sub
// This method creates a new ChildForm instance // and attaches it to the MDI parent form. private void newToolStripMenuItem_Click(object sender, EventArgs e) { ChildForm f = new ChildForm(); f.MdiParent = this; f.Text = "Form - " + this.MdiChildren.Length.ToString(); f.Show(); }
Добавление элемента управления ToolStripPanel на панель элементов.
При использовании элементов управления MenuStrip с формой MDI необходимо наличие элемента управления ToolStripPanel. Для создания формы MDI в конструкторе Windows Forms необходимо добавить элемент управления ToolStripPanel на панель элементов.
Добавление элемента управления ToolStripPanel на панель элементов
Откройте панель элементов и выберите вкладку Все формы Windows Forms, чтобы отобразить доступные элементы управления Windows Forms.
Щелкните правой кнопкой мыши, чтобы открыть контекстное меню, и выберите пункт Выбрать элементы.
В диалоговом окне Выбор элементов панели элементов прокрутите вниз столбец Имя, пока не увидите элемент ToolStripPanel.
Установите флажок рядом с элементом ToolStripPanel и нажмите кнопку ОК.
Элемент управления ToolStripPanel появится на панели элементов.
Создание дочерней формы.
В этой процедуре предстоит определить отдельный класс дочерней формы с собственным элементом управления MenuStrip. Элементы меню этой формы сливаются с элементами родительской формы.
Определение дочерней формы
Добавьте в проект новую форму с именем ChildForm.
Дополнительные сведения см. в разделе Практическое руководство. Добавление форм Windows Forms в проект.
Из панели элементов перетащите на дочернюю форму элемент управления MenuStrip.
Щелкните для элемента управления MenuStrip глиф смарт-тега () и выберите пункт Изменение элементов.
В диалоговом окне Редактор коллекции элементов добавьте новый элемент ToolStripMenuItem с именем ChildMenuItem в дочернее меню.
Дополнительные сведения см. в разделе Редактор набора элементов ToolStrip.
Проверка работоспособности полученной формы.
Чтобы проверить работоспособность формы
Нажмите клавишу F5 чтобы скомпилировать и выполнить полученную форму.
Выберите элемент меню Окно, чтобы открыть меню, и выберите пункт Новое.
В клиентской области MDI формы будет создана новая дочерняя форма. Меню дочерней формы сливается с главным меню.
Закройте дочернюю форму.
Меню дочерней формы удаляется из главного меню.
Несколько раз нажмите Новое.
Дочерние формы автоматически перечисляются в пункте меню Окно, потому что элементу управления MenuStrip назначается свойство MdiWindowListItem.
Добавление поддержки элемента управления ToolStrip
В этой процедуре в родительскую форму MDI добавляются четыре элемента управления ToolStrip. Каждый элемент управления ToolStrip добавляется внутри элемента управления ToolStripPanel, который присоединен к краю формы.
Чтобы добавить элементы управления ToolStrip в родительскую форму MDI
Из панели элементов перетащите на форму элемент управления ToolStripPanel.
Выбрав элемент управления ToolStripPanel дважды щелкните элемент управления ToolStrip на панели элементов.
Элемент управления ToolStrip создается в элементе управления ToolStripPanel.
Выберите элемент управления ToolStripPanel.
В окне "Свойства" измените значение свойства Dock элемента управления на Left.
Элемент управления ToolStripPanel закрепляется на левой стороне формы под главным меню. Размер клиентской области MDI изменяется в соответствии с размером элемента управления ToolStripPanel.
Повторите шаги с 1 по 4.
Закрепите новый элемент управления ToolStripPanel в верхней части формы.
Элемент управления ToolStripPanel закрепляется под главным меню, но справа от первого элемента управления ToolStripPanel. Этот этап иллюстрирует важность z-порядка для правильного расположения элементов управления ToolStripPanel.
Повторите этапы 1 — 4 еще для двух элементов управления ToolStripPanel.
Закрепите новые элементы управления ToolStripPanel на правой и нижней сторонах формы.
Упорядочивание элементов управления ToolStripPanel в соответствии с Z-порядком
Положение закрепленного элемента управления ToolStripPanel на форме MDI определяется положением этого элемента управления в z-порядке. Задать z-порядок элементов управления можно удобно в окне "Структура документа".
Чтобы упорядочить элементы управления ToolStripPanel в соответствии с Z-порядком
В меню Вид выберите пункт Другие окна, а затем пункт Структура документа.
Расположение элементов управления ToolStripPanel в предыдущей процедуре является нестандартным. Это происходить из-за неправильного z-порядка. Для изменения z-порядка элементов управления воспользуйтесь окном "Структура документа".
В окне "Структура документа" выберите элемент управления ToolStripPanel4.
Нажимайте кнопку со стрелкой вниз до тех пор, пока элемент управления ToolStripPanel4 не окажется внизу списка.
Элемент управления ToolStripPanel4 закрепляется на нижней стороне формы, под другими элементами управления.
Выберите элемент управления ToolStripPanel2.
Нажмите кнопку со стрелкой вниз один раз, чтобы сделать этот элемент управления третьим в списке.
Элемент управления ToolStripPanel2 закрепляется на верхней стороне формы под главным меню и над другими элементами управления.
Выберите разные элементы управления в окне Структура документа и переместите их в разные положения в соответствии с z-порядком. Обратите внимание на действие, оказываемое z-порядком на положение закрепленных элементов управления. Для отмены сделанных изменений воспользуйтесь комбинацией клавиш CTRL-Z или командой Отменить в меню Правка.
Контрольная точка
Чтобы проверить работоспособность формы
Нажмите клавишу F5 чтобы скомпилировать и выполнить полученную форму.
Щелкните захват элемента управления ToolStrip и попробуйте перетащить элемент управления в разные положения на форме.
Можно перетащить элемент управления ToolStrip с одного элемента управления ToolStripPanel на другой.
Следующие действия
В этом пошаговом руководстве была создана родительская форма MDI с элементами управления ToolStrip и слиянием меню. Семейством элементов управления ToolStrip можно также пользоваться для многих других целей:
Создайте контекстное меню для своих элементов управления с помощью ContextMenuStrip. Дополнительные сведения см. в разделе Общие сведения о компоненте ContextMenu (Windows Forms).
Создана форма с автоматически заполняемым стандартным меню. Дополнительные сведения см. в разделе Пошаговое руководство. Создание стандартных пунктов меню для формы.
Придайте своим элементам управления ToolStrip профессиональный вид. Дополнительные сведения см. в разделе Практическое руководство. Задание средства визуализации компонента ToolStrip для приложения.
См. также
Задачи
Практическое руководство. Создание родительских MDI-форм
Практическое руководство. Создание дочерних MDI-форм