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


Пошаговое руководство. Создание формы MDI с помощью элементов управления "Слияние меню" и toolStrip

Пространство имен System.Windows.Forms поддерживает несколько приложений интерфейса документов (MDI), а элемент управления MenuStrip поддерживает слияние меню. Формы MDI также могут ToolStrip элементов управления.

В этом пошаговом руководстве показано, как работать с ToolStripPanel элементами управления в окне MDI. Форма также поддерживает слияние меню с дочерними меню. В этом пошаговом руководстве показаны следующие задачи:

  • Создание проекта Windows Forms.

  • Создание главного меню для формы. Фактическое имя меню будет отличаться.

  • ToolStripPanel Добавление элемента управления на панель инструментов.

  • Создание дочерней формы.

  • Упорядочивание ToolStripPanel элементов управления по z-порядку.

По завершении вы получите форму MDI, которая поддерживает слияние меню и перемещаемые ToolStrip элементы управления.

Чтобы скопировать код в этом разделе в виде одного списка, см. статью "Практическое руководство. Создание формы MDI с помощью элементов управления Menu Merging и ToolStrip".

Предпосылки

Для выполнения этого пошагового руководства вам потребуется Visual Studio.

Создание проекта

  1. В Visual Studio создайте проект приложения Windows с именем MdiForm (Файл>Новый>Проект>Visual C# или Visual Basic>Классический рабочий стол>Приложение Windows Forms).

  2. В конструкторе Windows Forms выберите форму.

  3. В окне "Свойства" задайте для параметра значение IsMdiContainertrue.

Создание главного меню

Родительская форма MDI содержит главное меню. В главном меню есть один пункт меню с именем Window. С помощью элемента меню "Окно " можно создать дочерние формы. Элементы меню из дочерних форм объединяются в главное меню.

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

  2. Добавьте элемент управления ToolStripMenuItem в MenuStrip и назовите его Окно.

  3. Выберите элемент управления MenuStrip.

  4. В окне свойств задайте для свойства MdiWindowListItemзначение ToolStripMenuItem1 .

  5. Добавьте подэлемент в пункт меню Окно, а затем назовите подэлемент New.

  6. В окне "Свойства" щелкните "События".

  7. Дважды щелкните событие Click.

    Конструктор Windows Forms создает обработчик событий для события Click.

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

    // 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();
    }
    
    ' 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
    

Добавьте элемент управления ToolStripPanel на панель элементов

При использовании управляющих элементов MenuStrip с формой MDI, необходимо иметь управляющий элемент ToolStripPanel. Чтобы создать форму MDI в конструкторе Windows Forms, необходимо добавить ToolStripPanel элемент управления в панель элементов .

  1. Откройте панель элементов и перейдите на вкладку "Все Формы Windows Forms ", чтобы отобразить доступные элементы управления Windows Forms.

  2. Щелкните правой кнопкой мыши, чтобы открыть контекстное меню и выберите пункт "Выбрать элементы".

  3. В диалоговом окне "Выбор элементов панели элементов " прокрутите вниз столбец "Имя ", пока не найдете ToolStripPanel.

  4. Установите флажок рядом с панелью ToolStrip, а затем нажмите ОК.

    Элемент ToolStripPanel управления отображается в панели инструментов.

Создайте дочернюю форму

В этой процедуре вы определите отдельный дочерний класс формы, имеющий собственный MenuStrip элемент управления. Элементы меню для этой формы объединяются с элементами родительской формы.

  1. Добавьте новую форму с именем ChildForm в проект.

    Дополнительные сведения см. в статье "Практическое руководство. Добавление Windows Forms в проект".

  2. Из панели инструментов перетащите MenuStrip элемент управления на дочернюю форму.

  3. MenuStrip Щелкните глиф действий конструктора элемента управления (небольшая черная стрелка), а затем выберите пункт "Изменить элементы".

  4. В диалоговом окне редактора коллекций элементов добавьте новое ToolStripMenuItem имя ChildMenuItem в дочернее меню.

    Дополнительные сведения см. в редакторе коллекции элементов ToolStrip.

Проверка формы

  1. Нажмите F5, чтобы скомпилировать и запустить форму.

  2. Щелкните пункт меню "Окно" , чтобы открыть меню, а затем нажмите кнопку "Создать".

    Новая дочерняя форма создается в клиентской области MDI формы. Меню дочерней формы объединяется с основным меню.

  3. Закройте дочернюю форму.

    Меню дочерней формы удаляется из главного меню.

  4. Нажмите кнопку "Создать " несколько раз.

    Дочерние формы автоматически отображаются в элементе меню "Окно", поскольку свойство MenuStrip элемента управления MdiWindowListItem назначено.

Добавление поддержки ToolStrip

В этой процедуре вы добавите четыре ToolStrip элемента управления в родительскую форму MDI. Каждый ToolStrip элемент управления добавляется внутри ToolStripPanel элемента управления, который закреплен к краю формы.

  1. Из панели элементов перетащите ToolStripPanel элемент управления в форму.

  2. При выбранном ToolStripPanel элементе управления дважды щелкните ToolStrip элемент управления на панели инструментов.

    Элемент ToolStrip управления создается в элементе ToolStripPanel управления.

  3. Выберите элемент управления ToolStripPanel.

  4. В окне "Свойства" измените значение свойства Dock элемента управления на Left.

    Элемент ToolStripPanel управления закрепляется слева от формы под главной меню. Клиентская область MDI изменяет свой размер, чтобы соответствовать интерфейсному элементу ToolStripPanel.

  5. Повторите шаги 1–4.

    Закрепите новый элемент управления ToolStripPanel в верхней части формы.

    Элемент ToolStripPanel управления закреплен под основным меню, но справа от первого ToolStripPanel элемента управления. На этом шаге показана важность z-порядка в правильном расположении ToolStripPanel элементов управления.

  6. Повторите шаги 1–4 для двух дополнительных ToolStripPanel элементов управления.

    Закрепление новых ToolStripPanel элементов управления справа и внизу формы.

Упорядочить элементы управления ToolStripPanel по Z-order

Позиция докированного ToolStripPanel элемента управления на вашей форме MDI определяется позицией элемента управления в Z-порядке. Вы можете легко упорядочить z-порядок элементов управления в окне структуры документа.

  1. В меню "Вид " щелкните "Другие окна" и выберите пункт "Структура документа".

    Порядок элементов управления из предыдущей ToolStripPanel процедуры является нестандартным. Это связано с тем, что z-order не является правильным. Используйте окно структуры документа для изменения порядка z элементов управления.

  2. В окне структуры документа выберите ToolStripPanel4.

  3. Нажимайте кнопку стрелки вниз неоднократно, пока ToolStripPanel4 не находится в нижней части списка.

    Элемент управления ToolStripPanel4 закреплен в нижней части формы под другими элементами управления.

  4. Выберите ToolStripPanel2.

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

    Элемент управления ToolStripPanel2 закреплен в верхней части формы под главной меню и над другими элементами управления.

  6. Выберите различные элементы управления в окне структуры документа и переместите их на разные позиции в z-порядке. Обратите внимание на влияние z-порядка на размещение закрепленных элементов управления. Используйте CTRL-Z или Отменить в меню Изменить, чтобы отменить изменения.

Контрольная точка — проверка формы

  1. Нажмите F5, чтобы скомпилировать и запустить форму.

  2. Щелкните захват ToolStrip элемента управления и перетащите элемент управления в разные позиции на форме.

    Вы можете перетащить элемент управления ToolStrip из одного ToolStripPanel в другой.

Дальнейшие шаги

В этом пошаговом руководстве вы создали родительскую форму MDI с ToolStrip элементами управления и объединением меню. Для многих других целей можно использовать семейство элементов управления ToolStrip:

См. также