一个动态添加contextmenu的例子,以及其click事件
2010-12-07 18:53
477 查看
代码
1 private void frmMain_Load(object sender, EventArgs e)
2 {
3 List<string> list = new List<string>();
4 list.Add("SubItem1");
5 list.Add("SubItem2");
6 list.Add("SubItem3");
7
8 ContextMenu cm = new ContextMenu();
9 this.ContextMenu = cm;
10
11 MenuItem myItem = new MenuItem();
12 myItem.Text = "test";
13 foreach (string item in list)
14 {
15 MenuItem mi = new MenuItem(item);
16 mi.Name = item;
17 mi.Click += new EventHandler(CustomItem_Click); //这里为子菜单添加Click事件
18 myItem.MenuItems.Add(mi);
19 }
20 cm.MenuItems.Add(myItem);
21 }
22
23 private void CustomItem_Click(object sender, EventArgs e)
24 {
25 //根据sender的Name属性来区分是点了哪个了菜单,写相应的事件处理代码
26 MessageBox.Show(((MenuItem)sender).Name);
27 }
28
1 private void frmMain_Load(object sender, EventArgs e)
2 {
3 List<string> list = new List<string>();
4 list.Add("SubItem1");
5 list.Add("SubItem2");
6 list.Add("SubItem3");
7
8 ContextMenu cm = new ContextMenu();
9 this.ContextMenu = cm;
10
11 MenuItem myItem = new MenuItem();
12 myItem.Text = "test";
13 foreach (string item in list)
14 {
15 MenuItem mi = new MenuItem(item);
16 mi.Name = item;
17 mi.Click += new EventHandler(CustomItem_Click); //这里为子菜单添加Click事件
18 myItem.MenuItems.Add(mi);
19 }
20 cm.MenuItems.Add(myItem);
21 }
22
23 private void CustomItem_Click(object sender, EventArgs e)
24 {
25 //根据sender的Name属性来区分是点了哪个了菜单,写相应的事件处理代码
26 MessageBox.Show(((MenuItem)sender).Name);
27 }
28
用这种方式来动态添加菜单项 MenuItem menu1 = new MenuItem("新建班级&(C)"); menu1.Click += new EventHandler(menu1_Click); contextMenu1.MenuItems.Add(menu1); 然后你再写一个 private void menu1_Click(object sender, EventArgs e) { MessageBox.Show("新建班级 OnClick!"); } 就行了
相关文章推荐
- 一个简单打开D盘所有文件夹和文件的例子以及动态创建双击事件
- UGUI部分事件接口讲解以及一个很简单动态添加事件类
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
- 演示事件(Event)怎样使用以及怎样为用户控件添加一个事件(示例代码下载)
- 一个理解js动态创建节点并注册事件及传递参数的例子
- 初步的学会用数组动态添加参数(一个添加存储过程参数的例子)
- 一个ADF Javascript 添加鼠标移动事件的例子
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性11
- asp.net C#动态添加创建生成button按钮控件没有触发执行响应click绑定事件处理
- 动态添加组件或是客户端控件以及事件(Mondify By LiFuyun)
- 动态添加重复布局以及各子布局点击事件
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
- vb.net 用MenuStrip动态创建菜单,怎样添加子菜单,并增加click事件
- (原创)DataGrid动态添加模板列的一个例子
- 数组不是指针——数组地址不能动态分配空间,一个小例子关于指针移动,以及malloc
- C#动态生成控件以及添加事件处理
- jQuery-为动态添加的元素绑定事件(以及不重复添加新的内容)
- 一个Spring Scheduler (Quartz) 动态添加,删除,修改任务的例子
- ASP.NET 2.0 中动态添加 GridView 模板列 以及取值的例子
- 关于如何利用原生js动态给一个空对象添加属性以及属性值