Jak: usunąć element ToolStripMenuItem z menu Drop-Down MDI w Formularzach systemu Windows
W niektórych aplikacjach rodzaj okna podrzędnego interfejsu wielodokumentowego (MDI) może różnić się od okna nadrzędnego MDI. Na przykład element nadrzędny MDI może być arkuszem kalkulacyjnym, a element podrzędny MDI może być wykresem. W takim przypadku chcesz zaktualizować zawartość menu nadrzędnego MDI na podstawie zawartości menu podrzędnego MDI, gdy różne rodzaje okien podrzędnych MDI są aktywowane.
Poniższa procedura używa właściwości IsMdiContainer, AllowMerge, MergeActioni MergeIndex, aby usunąć element menu z części rozwijanej menu nadrzędnego MDI. Zamknięcie okna podrzędnego MDI przywraca usunięte elementy menu do menu nadrzędnego MDI.
Aby usunąć element MenuStrip z menu rozwijanego MDI
Utwórz formularz i ustaw jego właściwość IsMdiContainer na wartość
true
.Dodaj MenuStrip do
Form1
i ustaw właściwość AllowMerge elementu MenuStrip natrue
.Dodaj element menu najwyższego poziomu do
Form1
MenuStrip i ustaw jego właściwość Text na&File
.Dodaj trzy elementy podrzędne do elementu menu
&File
i ustaw ich właściwości Text na&Open
,&Import from
iE&xit
.Dodaj dwa elementy podrzędne do elementu podmenu
&Import from
i ustaw ich właściwości Text na&Word
i&Excel
.Dodaj formularz do projektu, dodaj MenuStrip do formularza i ustaw właściwość AllowMerge
Form2
MenuStrip na wartośćtrue
.Dodaj element menu najwyższego poziomu do
Form2
MenuStrip i ustaw jego właściwość Text na&File
.Dodaj element podmenu
&Import from
do menu&File
Form2
i dodaj element podmenu&Word
do menu&File
.Ustaw właściwości MergeAction i MergeIndex elementów menu
Form2
, jak pokazano w poniższej tabeli.Element menu Formularz2 Wartość działania scalającego Wartość mergeindex Plik MatchOnly -1 Importuj z MatchOnly -1 Słowo Usunąć -1 W
Form1
utwórz procedurę obsługi zdarzeń dla zdarzenia Click w&Open
ToolStripMenuItem.W programie obsługi zdarzeń wstaw kod podobny do poniższego przykładu kodu, aby utworzyć i wyświetlić nowe wystąpienia
Form2
jako elementy podrzędne 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(); }
Umieść kod podobny do poniższego przykładu kodu w
&Open
ToolStripMenuItem, aby zarejestrować procedurę obsługi zdarzeń.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new _ System.EventHandler(this.openToolStripMenuItem_Click);
Kompilowanie kodu
Ten przykład wymaga:
Dwie kontrolki Form o nazwie
Form1
iForm2
.Kontrolka MenuStrip
Form1
o nazwiemenuStrip1
i kontrolka MenuStripForm2
o nazwiemenuStrip2
.Odwołania do zestawów System i System.Windows.Forms.
Zobacz też
.NET Desktop feedback