Nasıl yapılır: MDI Drop-Down Menüsünden ToolStripMenuItem Kaldırma (Windows Forms)
Bazı uygulamalarda, çok belgeli arabirim (MDI) alt penceresinin türü MDI üst penceresinden farklı olabilir. Örneğin, MDI üst öğesi bir elektronik tablo, MDI alt öğesi de bir grafik olabilir. Bu durumda, farklı türlerdeki MDI alt pencereleri etkinleştirildiğinden MDI üst öğesinin menüsünün içeriğini MDI alt menüsünün içeriğiyle güncelleştirmek istiyorsunuz.
Aşağıdaki yordam MDI üst menüsünün açılan bölümünden bir menü öğesini kaldırmak için IsMdiContainer, AllowMerge, MergeActionve MergeIndex özelliklerini kullanır. MDI alt penceresini kapatmak, kaldırılan menü öğelerini MDI üst menüsüne geri yükler.
MDI açılır menüsünden bir MenuStrip'i kaldırmak için
Form oluşturun ve IsMdiContainer özelliğini
true
olarak ayarlayın.MenuStrip bir
Form1
ekleyin ve MenuStrip'ün AllowMerge özelliğinitrue
olarak ayarlayın.Form1
MenuStrip bir üst düzey menü öğesi ekleyin ve Text özelliğini&File
olarak ayarlayın.&File
menü öğesine üç alt menü öğesi ekleyin ve Text özelliklerini&Open
,&Import from
veE&xit
olarak ayarlayın.&Import from
alt menüsü öğesine iki alt menü öğesi ekleyin ve Text özelliklerini&Word
ve&Excel
olarak ayarlayın.Projeye form ekleyin, forma bir MenuStrip ekleyin ve
Form2
MenuStripAllowMerge özelliğinitrue
olarak ayarlayın.Form2
MenuStrip bir üst düzey menü öğesi ekleyin ve Text özelliğini&File
olarak ayarlayın.Form2
&File
menüsüne&Import from
bir alt menü öğesi ekleyin ve&File
menüsüne&Word
bir alt menü öğesi ekleyin.Aşağıdaki tabloda gösterildiği gibi
Form2
menü öğelerinin MergeAction ve MergeIndex özelliklerini ayarlayın.Form2 menü öğesi MergeAction değeri MergeIndex değeri Dosya MatchOnly -1 İçeri aktarma MatchOnly -1 Kelime Kaldır -1 Form1
içinde,&Open
ToolStripMenuItemClick olayı için bir olay işleyicisi oluşturun.Olay işleyicisinde, yeni
Form2
örnekleriniForm1
MDI alt öğeleri olarak oluşturmak ve görüntülemek için aşağıdaki kod örneğine benzer bir kod ekleyin: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(); }
Olay işleyicisini kaydetmek için
&Open
ToolStripMenuItem aşağıdaki kod örneğine benzer bir kod yerleştirin.Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new _ System.EventHandler(this.openToolStripMenuItem_Click);
Kodu Derleme
Bu örnek şunları gerektirir:
Form1
veForm2
adlı iki Form denetimi.menuStrip1
adlıForm1
üzerinde MenuStrip denetimi vemenuStrip2
adlıForm2
üzerinde MenuStrip denetimi.System ve System.Windows.Forms derlemelerine referanslar.
Ayrıca bkz.
.NET Desktop feedback