c#菜單動態(tài)合并的實現(xiàn)方法
說明
在程序中經(jīng)常使用彈出菜單,并且一個窗體中可以存在多個彈出菜單。開發(fā)過MDI窗體的讀者可能都知道,當MDI子窗體最大化時,子窗體和主窗體的菜單能夠自動的合并。這是如何實現(xiàn)的呢?本例實現(xiàn)了將兩個彈出菜單動態(tài)的合并成一個彈出菜單的功能。實例效果如圖1.2所示。
要點
C# 2.0中已經(jīng)將彈出菜單封裝為Context MenuStrip控件,利用該控件中的Items對象可以操作菜單中的菜單項。該對象是ToolStripMenuItem類型,使用Items.AddRange( )方法可以向彈出菜單中添加菜單項,該方法原型如下。
public void AddRange ( ToolStripItem[] toolStripItems )
參數(shù)說明如下。
toolStripItems:控件的數(shù)組。
過程
(1)創(chuàng)建一個項目,將其命名為Ex01_02,默認窗體為Form1。
(2)從工具箱中向Form1窗體添加一個MenuStrip控件用來設(shè)計菜單;同時向窗體添加ContextMenuStrip控件用來設(shè)計右鍵菜單;選中MenuStrip控件創(chuàng)建一個“打開子窗體”主菜單,然后選中ContextMenuStrip控件為其添加子項。
(3)為程序添加一個窗體,默認名為Form2,同時向窗體添加ContextMenuStrip控件用來設(shè)計右鍵菜單,然后選中ContextMenuStrip控件為其添加子項。
private void 打開自窗體ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.MdiParent = this;
f.Show();//顯示子窗體
f.Resize += new EventHandler(f_Resize);
}
void f_Resize(object sender, EventArgs e)
{
Form2 f = (Form2)sender;
ToolStripMenuItem item = new ToolStripMenuItem();
for (int i = 0; i < f.contextMenuStrip2.Items.Count; )//合并菜單
{
item.DropDownItems.Add(f.contextMenuStrip2.Items[i]);
}
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
item});
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Winform界面中實現(xiàn)通用工具欄按鈕的事件處理方法
下面小編就為大家分享一篇Winform界面中實現(xiàn)通用工具欄按鈕的事件處理方法,具有很好的參考價值,希望對大家有所幫助2017-11-11
C#中的Hangfire和Quartz.NET 任務(wù)調(diào)度的區(qū)別解析
Hangfire 和 Quartz.NET 是兩種常見的 C# 任務(wù)調(diào)度庫,它們有不同的特點和使用場景,本文給大家介紹C#中的Hangfire和Quartz.NET 任務(wù)調(diào)度的區(qū)別,感興趣的朋友一起看看吧2024-08-08
C#實現(xiàn)AddRange為數(shù)組添加多個元素的方法
這篇文章主要介紹了C#實現(xiàn)AddRange為數(shù)組添加多個元素的方法,實例分析了AddRange方法的使用技巧,需要的朋友可以參考下2015-06-06
C#實現(xiàn)的中國移動官網(wǎng)手機號碼采集器
這篇文章主要介紹了C#實現(xiàn)的中國移動官網(wǎng)手機號碼采集器,本文先是采集號碼入庫,同時給出了篩選各類靚號的SQL語句,需要的朋友可以參考下2014-10-10

