Postupy: Odebrání prvku ToolStripMenuItem z rozevíracího seznamu 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 nadřazené nabídky MDI obsahem podřízené nabídky MDI jako podřízená okna MDI různých druhů.
Následující postup používá IsMdiContainerpoložku nabídky , , MergeActionAllowMergea MergeIndex vlastnosti k odebrání položky nabídky z rozevírací části nadřazené nabídky MDI. Zavření podřízeného okna MDI obnoví odebrané položky nabídky do nadřazené nabídky MDI.
Odebrání MenuStrip z rozevírací nabídky MDI
Vytvořte formulář a nastavte jeho IsMdiContainer vlastnost na
true
.MenuStrip Přidejte do
Form1
a nastavte AllowMerge vlastnost MenuStrip natrue
hodnotu .Přidejte položku nabídky nejvyšší úrovně do
Form1
MenuStrip a nastavte její Text vlastnost na&File
.Přidejte do
&File
položky nabídky tři podnabídky a nastavte jejich Text vlastnosti na&Open
,&Import from
aE&xit
.Přidejte do
&Import from
podnabídky dvě podnabídky a nastavte jejich Text vlastnosti na&Word
a&Excel
.Přidejte do projektu formulář, přidejte MenuStrip do formuláře a nastavte AllowMerge vlastnost
Form2
MenuStrip natrue
hodnotu .Přidejte položku nabídky nejvyšší úrovně do
Form2
MenuStrip a nastavte její Text vlastnost na&File
.&Import from
Přidejte do nabídkyForm2
položku&File
podnabídky a do nabídky přidejte položku&File
podnabídky&Word
.MergeAction Nastavte a MergeIndex vlastnosti
Form2
položek nabídky, jak je znázorněno v následující tabulce.Položka nabídky Form2 Hodnota MergeAction MergeIndex – hodnota Soubor MatchOnly -1 Importovat z MatchOnly -1 Word Odebrat -1 V
Form1
aplikaci vytvořte obslužnou rutinu události pro Click událost události&Open
ToolStripMenuItem.V obslužné rutině události vložte kód podobný následujícímu příkladu kódu, který vytvoří a zobrazí nové instance jako podřízené
Form2
položkyForm1
MDI :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(); }
Umístěte kód podobný následujícímu příkladu
&Open
ToolStripMenuItem kódu do registru obslužné rutiny události.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new _ System.EventHandler(this.openToolStripMenuItem_Click);
Probíhá kompilace kódu
Tento příklad vyžaduje:
Dva Form pojmenované
Form1
ovládací prvky aForm2
.Ovládací MenuStrip prvek s
Form1
názvemmenuStrip1
a MenuStrip ovládací prvek sForm2
názvemmenuStrip2
.Odkazy na sestavení System a System.Windows.Forms sestavení.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro