Show / Hide Table of Contents

Практическое руководство. Удаление элемента ToolStripMenuItem из раскрывающегося меню MDI (Windows Forms)

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

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

Для удаления элемента управления из меню 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. Добавить &Import from пункт подменю &File меню Form2и добавьте &Word пункт подменю &File меню.

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

    Пункт меню Form2 Значение MergeAction Значение MergeIndex
    Файл MatchOnly -1
    Импорт из MatchOnly -1
    Слово Удалить -1
  10. В Form1, создайте обработчик событий для 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