c# contextMenu 动态添加二级菜单点击问题!

wang7655 2007-11-20 12:46:17
是这样,我C#WINDOWS窗体中在一个列表中使用了contextMenu控件,其中有一个地方使用动态添加了二级菜单,但是不知道如何使用点击,希望高手指点:
比如:右击出现菜单 新增
修改
指定==》动态添加名字(这里名字是读取数据库的,而且都是每次可能不一样)

我动态添加的是this.menuItem3.MenuItems.Add(dr["name"].ToString());

我运行过,名字是可以动态添加上去,但是,点击事件应该怎么处理。怎么样得到点击选择用中的人名。


希望大家告诉下!
...全文
1300 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang7655 2007-11-20
  • 打赏
  • 举报
回复
实例该添加的菜单事件就OK了. 问题是动态添加的,不知道到底有多少个子菜单项目,怎么实现事件呢。也无法指定啊
wang7655 2007-11-20
  • 打赏
  • 举报
回复
楼上写的是基本上知道有多少个人吧!但是问题就是我后面动态添加的,人数多少要根据当前数据库里的东西来定的

比如,有可能读取出来的任务是三个,有可能是5个,那么在
指定==》动态添加名字(这里名字是读取数据库的,而且都是每次可能不一样)
这里指定的下级菜单上就出现的个数不一样的。
root_ 2007-11-20
  • 打赏
  • 举报
回复
基本上是这样一个过程吧,根据实际情况,自己修改下吧

private void frmMain_Load(object sender, EventArgs e)
{
List<string> list = new List<string>();
list.Add("SubItem1");
list.Add("SubItem2");
list.Add("SubItem3");

ToolStripMenuItem myItem = new ToolStripMenuItem();
myItem.Text = "test";
foreach (string item in list)
{
ToolStripMenuItem mi = new ToolStripMenuItem(item);
mi.Text = item;
mi.Click += new EventHandler(CustomItem_Click);
myItem.DropDownItems.Add(mi);
}
contextMenuStrip1.Items.Add(myItem);
}

private void CustomItem_Click(object sender, EventArgs e)
{
MessageBox.Show(((ToolStripMenuItem)sender).Text);
}
kevery_net 2007-11-20
  • 打赏
  • 举报
回复
实例该添加的菜单事件就OK了.
root_ 2007-11-20
  • 打赏
  • 举报
回复
.NET1.1?都什么年代了,怎么还用这个版本啊

我这里没有vs2003,所以直接用代码添加的ContextMenu

代码写出来,一是我测试用的,再就是为了演示效果,并不是让你复制过去直接用的,这里给你提供的只是思路,自己根据这个提示,分析一下如何用到自己的程序中去,根据实际情况而定

private void frmMain_Load(object sender, EventArgs e)
{
List<string> list = new List<string>();
list.Add("SubItem1");
list.Add("SubItem2");
list.Add("SubItem3");

ContextMenu cm = new ContextMenu();
this.ContextMenu = cm;

MenuItem myItem = new MenuItem();
myItem.Text = "test";
foreach (string item in list)
{
MenuItem mi = new MenuItem(item);
mi.Name = item;
mi.Click += new EventHandler(CustomItem_Click); //这里为子菜单添加Click事件
myItem.MenuItems.Add(mi);
}
cm.MenuItems.Add(myItem);
}

private void CustomItem_Click(object sender, EventArgs e)
{
//根据sender的Name属性来区分是点了哪个了菜单,写相应的事件处理代码
MessageBox.Show(((MenuItem)sender).Name);
}
wang7655 2007-11-20
  • 打赏
  • 举报
回复
但是你代码里的 ToolStripMenuItem 我写在程序里说没有定义啊!

出错啊!
root_ 2007-11-20
  • 打赏
  • 举报
回复
我汗哪,难道不知道什么是举一反三吗

我写个List<string>只不过是为了演示下效果,难道真的要我去连数据库,然后再foreach吗

如果是用DataAdapter那就读到一个DataTable里再foreach遍历添加,如果是用DataReader那就直接while循环添加就行了,跟多少个子菜单项目有关系吗
书名:jQuery权威指南(系统介绍jQuery方方面面,囊括118个实例和2个综合案例,实战性强) 作者:陶国荣 著 书号:978-7-111-32543-7 定价:59.00元 出版社:机械工业出版社华章公司 出版时间:2011年1月 编辑推荐: 内容全面,系统地讲解了jQuery方方面面 实战性强,囊括118个实例和2个综合案例 资深专家亲自执笔,4大专业社区一致鼎力推荐 内容简介: jQuery是继Prototype之后的又一个优秀JavaScript框架,深受全球开发者欢迎,已经成为Web开发领域的事实标准。jQuery以其轻巧的体积、强大的选择器、出色的DOM封装、丰富的插件支持使得广大的Web前端开发者得心应手,极大地提高了他们的开发效率;此外,jQuery中完善的Ajax功能、行为与结构层的分离、可靠的事件处理机制也同样使得Web后端开发者如虎添翼,使用少量代码就可以实现复杂的功能。特别是新版本1.4.x的发布,jQuery在功能和性能方面都有质的提升,极大地满足了广大开发者提出的更高要求。因此,为了提高Web开发的效率和强化Web应用的功能,熟练使用jQuery是Web开发者必备的一种能力。 《jQuery权威指南》由国内资深Web技术专家亲自执笔,4大Web开发社区一致鼎力推荐,权威性毋庸置疑。 内容新颖,基于jQuery的最新版本撰写,所有新功能和新特性一览无余;内容全面,不仅讲解了jQuery技术本身的方方面面,而且还包括与jQuery相关的扩展知识;实战性强,不仅每个知识点都配有完整的小案例,而且还有两个综合性的案例。本书不仅能满足读者系统学习理论知识的需求,还能满足需要充分实践的需求。 全书一共分为11章,首先以示例的方式对jQuery做了全局性的介绍,以便于为读者建立jQuery的大局观,这对初学者尤为重要;其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧,所有这些知识点都配有完整的示例(包括需求分析、代码实现和结果展示三部分);再接着对jQuery UI和jQuery实用工具函数等扩展知识,以及jQuery的开发技巧与性能优化等方面的重要知识做了详尽的阐述;最后以两个具有代表性的综合案例结束全书,希望能帮助读者将前面所学的理论知识真正贯穿于实践中,迅速进入jQuery的殿堂。 作者简介: 陶国荣,资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。醉心于对JavaScript、jQuery和Ajax等Web开发技术的研究与实践,并长期专注于HTML页面的优化与用户体验的研究,在页面框架搭建、数据流向分析、页面静态优化方面拥有丰富的实践经验。此外,他还是微软技术方面的专家,精通C#、ASP.NET 和SQL Server等技术,出版相关著作多部。 媒体推荐: jQuery的发展之迅速和取得的成功之巨大是其他所有开发框架都难以企及的,它已经成为Web开发者必备的核心技能之一。如果你尚未掌握jQuery或功力还不够,推荐你认真阅读这本书并付诸实践,与同类的jQuery图书相比,它有3大优势:内容非常全面,几乎包含jQuery的所有内容;基于jQuery的最新版本撰写,所有新功能特性一览无余;实战性极强,不仅有118个小型案例,而且还有两个综合案例。——jQuery中文社区 jQuery因为使用简单、功能强大、插件丰富而深受Web开发者青睐。《jQuery权威指南》不仅完整地呈现了jQuery本身所有的功能,而且讲解了jQuery UI等扩展功能;更值得一提的是,还包括最佳实践和性能优化方面的技巧,内容全面,结构合理。除此之外,本书还包括大量的实例,不仅每个知识点都配有小例子,而且还有两个综合性的案例。对于初学者而言,本书应该是学习jQuery的首选。——jQuery中文用户组 jQuery因为易于使用和功能强大著称,是所有Web开发者应该掌握的一种利器,初学者如何才能快速而有效地掌握jQuery呢?最好的方法莫过于一边学习理论,一边动手实践这些理论,本书就是按照这种思路为读者打造的,强烈推荐。——JavaScript开发者社区 jQuery从众多的Ajax框架中脱颖而出,已经成为Web开发领域的事实标准。《jQuery权威指南》除了理论知识丰富而全面外,它还有一个最大的特点就是注重实战,每个知识点都有一个完整的案例,包括需求分析、代码实现和结果展示三个部分,而且还包含两个综合性的案例,它的实践性之强是目前所有同类书都不具备的,恰好这一点又是初学者最需要的。如果能阅读本书并付诸实践,进入jQu

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧