Postupy: Vložení MenuStrip do nabídky Drop-Down MDI (Windows Forms)
V některých aplikacích se druh podřízeného okna s více dokumenty (MDI) může lišit od nadřazeného okna MDI. Nadřazenou položkou MDI může být například tabulka a podřízeným objektem MDI může být graf. V takovém případě chcete aktualizovat obsah nabídky nadřazeného MDI okna obsahem nabídky podřízeného MDI okna, když jsou aktivována podřízená okna MDI různých typů.
Následující postup používá vlastnosti IsMdiContainer, AllowMerge, MergeActiona MergeIndex k vložení skupiny položek nabídky z podřízené nabídky MDI do rozevírací části nadřazené nabídky MDI. Zavření podřízeného okna MDI odebere vložené položky nabídky z hlavního okna MDI.
Vložení MenuStrip do rozevírací nabídky MDI
Vytvořte formulář a nastavte jeho vlastnost IsMdiContainer na
true
.Přidejte MenuStrip k
Form1
a nastavte vlastnost AllowMergeMenuStrip natrue
.Přidejte položku nabídky nejvyšší úrovně do
Form1
MenuStrip a nastavte její vlastnost Text na&File
.Přidejte do položky nabídky
&File
tři podnabídky a nastavte jejich vlastnosti Text na&Open
,&Import from
aE&xit
.Přidejte do položky podnabídky
&Import from
dvě podnabídky a nastavte jejich vlastnosti Text na&Word
a&Excel
.Přidejte formulář do projektu, vložte do něj MenuStrip a nastavte vlastnost AllowMerge pro
Form2
MenuStrip natrue
.Přidejte položku nabídky nejvyšší úrovně do
Form2
MenuStrip a nastavte její vlastnost Text na&File
.Do nabídky
&File
v rámciForm2
přidejte položky podnabídky v následujícím pořadí: ToolStripSeparator,&Save
,Save and &Close
a další ToolStripSeparator.Nastavte vlastnosti MergeAction a MergeIndex položek nabídky
Form2
, jak je znázorněno v následující tabulce.Položka nabídky Form2 Hodnota MergeAction MergeIndex – hodnota Soubor MatchOnly -1 Oddělovač Vložit 2 Uložit Vložit 3 Uložit a zavřít Vložit 4 Oddělovač Vložit 5 Vytvořte obslužnou rutinu pro událost Click
&Open
ToolStripMenuItem.V obslužné rutině události vložte kód podobný následujícímu příkladu kódu pro vytvoření a zobrazení nových instancí
Form2
jako podřízených objektů MDIForm1
.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(); }
Do
&Open
ToolStripMenuItem umístěte kód, podobný následujícímu příkladu, pro registraci obslužné funkce události.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
Kompilace kódu
Tento příklad vyžaduje:
Dva ovládací prvky Form s názvem
Form1
aForm2
.Ovládací prvek MenuStrip na
Form1
pojmenovanýmenuStrip1
a ovládací prvek MenuStrip naForm2
pojmenovanýmenuStrip2
.Odkazy na sestavy System a System.Windows.Forms.
Viz také
- Postupy: Vytvořit hlavní formuláře MDI
- Postupy: Vytváření podřízených formulářů MDI
- Přehled ovládacího prvku MenuStrip
.NET Desktop feedback