Show / Hide Table of Contents

Практическое руководство. Вставка элемента MenuStrip в раскрывающемся меню интерфейса MDI (Windows Forms)

В некоторых приложениях вид дочернего окна многодокументного интерфейса (MDI) может отличаться от родительского окна MDI. Например, родительским окном MDI может быть электронная таблица, а дочерним окном MDI — диаграмма. В этом случае может потребоваться дополнить содержимое меню родительского окна MDI содержимым меню дочерней MDI-формы, по мере того как активируются дочерние окна MDI различных типов.

В следующей процедуре используется IsMdiContainer, AllowMerge, MergeAction, и MergeIndex свойства, чтобы вставить группу пунктов меню из дочернего меню MDI в в раскрывающегося списка части родительского меню MDI. При закрытии дочернего окна MDI удаляются пункты меню, вставленные из родительского окна MDI.

Чтобы Вставка элемента MenuStrip в раскрывающееся меню интерфейса MDI

  1. Создайте форму и присвойте ее свойству IsMdiContainer значение true.

  2. Добавьте MenuStrip на Form1 и присвойте свойству AllowMerge для элемента MenuStrip значение true.

  3. Добавьте пункт меню верхнего уровня для Form1MenuStrip и задайте его Text свойства &File.

  4. Добавьте три элемента вложенного меню для &File пункта меню и задайте их Text свойства &Open, &Import from, и E&xit.

  5. Добавьте два подменю к &Import from подменю и задайте их Text свойства &Word и &Excel.

  6. Добавьте в проект форму, добавьте MenuStrip в форму и задайте AllowMerge свойство Form2MenuStrip для true.

  7. Добавьте пункт меню верхнего уровня для Form2MenuStrip и задайте его Text свойства &File.

  8. Добавить подменю &File меню Form2 в следующем порядке: ToolStripSeparator, &Save, Save and &Closeи другой ToolStripSeparator.

  9. Задайте MergeAction и MergeIndex свойства Form2 пункты меню, как показано в следующей таблице.

    Пункт меню Form2 Значение MergeAction Значение MergeIndex
    Файл MatchOnly -1
    Separator Insert 2
    Сохранение Insert 3
    Сохранить и закрыть Insert 4
    Separator Insert 5
  10. Создайте обработчик событий для Click событие &OpenToolStripMenuItem.

  11. В обработчик событий вставьте код, аналогичный приведенному в следующем примере для создания и отображения новых экземпляров Form2 в качестве дочерних окон MDI Form1.

    Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, _  
    ByVal e As System.EventArgs) Handles openToolStripMenuItem.Click  
        Dim NewMDIChild As New Form2()  
        'Set the parent form of the child window.  
            NewMDIChild.MdiParent = Me  
        'Display the new form.  
            NewMDIChild.Show()  
    End Sub  
    
    private void openToolStripMenuItem_Click(object sender, EventArgs e)  
    {  
        Form2 newMDIChild = new Form2();  
        // Set the parent form of the child window.  
            newMDIChild.MdiParent = this;  
        // Display the new form.  
            newMDIChild.Show();  
    }  
    
  12. Поместите код, аналогичный приведенному ниже код в &OpenToolStripMenuItem для регистрации обработчика событий.

    Private Sub openToolStripMenuItem_Click(sender As Object, e As _  
    EventArgs) Handles openToolStripMenuItem.Click  
    
    this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);  
    

Компиляция кода

Для этого примера требуются:

  • два элемента управления Form с именами Form1 и Form2;

  • элемент управления MenuStrip на Form1 с именем menuStrip1 и элемент управления MenuStrip на Form2 с именем menuStrip2;

  • ссылки на сборки System и System.Windows.Forms.

См. также

  • Практическое руководство. Создание родительских MDI-форм
  • Практическое руководство. Создание дочерних форм MDI
  • Общие сведения об элементе управления MenuStrip
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX