C# 右键菜单事件

Return0623360 2015-04-21 11:02:08
我想使用ContextMenuStrip控件实现文件的添加,如下图所示:

鼠标右键弹出MenuStrip,当选择“添加》”,点击后面的组(文件)名后,就添加到相应的组或者文件下面。
关键是组(文件)的个数是变化的(1-n),这个触发事件该怎么写?其实这就像office办公软件的打开最近文件差不多,因为最近文件总是变化的,那么office的打开最近文件是怎么实现的?

总的要求:右键点击添加后能添加到指定的组或者文件中。。。
...全文
399 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
本拉灯 2015-04-21
  • 打赏
  • 举报
回复
。。。 首先你肯定知道要添加多少个的“组文件” 在添加的代码里加入 ContextMenuStrip. .DropDownItems.Add(CreateItem(xxx1,路径1)) ContextMenuStrip. .DropDownItems.Add(CreateItem(xxx2,路径2)) ToolStripItem CreateItem(string txt,string path) { ToolStripItem item=new ToolStripItem(txt) item.Tag=path item.Click+=item_Click; } void Item_Click(object sender,EventArgs e) { ToolStripItem obj=sender as ToolStripItem ; string path= obj.Tag.ToString(); 这里该干嘛干嘛 }
threenewbee 2015-04-21
  • 打赏
  • 举报
回复
菜单项.Click+=你的事件处理程序。 事件处理程序通过sender判断是哪个菜单触发的。
Return0623360 2015-04-21
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
ContextMenuStrip.Items.Add 动态添加。 或者你先添加好了,在运行时通过Visibled控制
ContextMenuStrip.Items.Add是将新建的组(或文件)名添加到ContextMenuStrip中,可关键是触发事件?就是说当我进行添加操作时,是要添加到指定的组(或文件),那么当我选择到相应的的文件名时会有一个触发事件,指示将该数据添加到指定的组(或文件),这个触发事件是怎么实现的??? 多谢回答。。。
threenewbee 2015-04-21
  • 打赏
  • 举报
回复
ContextMenuStrip.Items.Add 动态添加。 或者你先添加好了,在运行时通过Visibled控制
Return0623360 2015-04-21
  • 打赏
  • 举报
回复
引用 5 楼 wish907 的回复:
[quote=引用 2 楼 u012558127 的回复:] [quote=引用 1 楼 caozhy 的回复:] ContextMenuStrip.Items.Add 动态添加。 或者你先添加好了,在运行时通过Visibled控制
ContextMenuStrip.Items.Add是将新建的组(或文件)名添加到ContextMenuStrip中,可关键是触发事件?就是说当我进行添加操作时,是要添加到指定的组(或文件),那么当我选择到相应的的文件名时会有一个触发事件,指示将该数据添加到指定的组(或文件),这个触发事件是怎么实现的??? 多谢回答。。。 [/quote] 触发事件使用同一个,根据传入的sender判断是谁点击,编写事件[/quote] 对,多谢回答。。。
Return0623360 2015-04-21
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
菜单项.Click+=你的事件处理程序。 事件处理程序通过sender判断是哪个菜单触发的。
对。。。
Return0623360 2015-04-21
  • 打赏
  • 举报
回复
引用 4 楼 wyd1520 的回复:
。。。 首先你肯定知道要添加多少个的“组文件” 在添加的代码里加入 ContextMenuStrip. .DropDownItems.Add(CreateItem(xxx1,路径1)) ContextMenuStrip. .DropDownItems.Add(CreateItem(xxx2,路径2)) ToolStripItem CreateItem(string txt,string path) { ToolStripItem item=new ToolStripItem(txt) item.Tag=path item.Click+=item_Click; } void Item_Click(object sender,EventArgs e) { ToolStripItem obj=sender as ToolStripItem ; string path= obj.Tag.ToString(); 这里该干嘛干嘛 }
哦 多谢回答,我来试着编写。。。
wish907 2015-04-21
  • 打赏
  • 举报
回复
引用 2 楼 u012558127 的回复:
[quote=引用 1 楼 caozhy 的回复:] ContextMenuStrip.Items.Add 动态添加。 或者你先添加好了,在运行时通过Visibled控制
ContextMenuStrip.Items.Add是将新建的组(或文件)名添加到ContextMenuStrip中,可关键是触发事件?就是说当我进行添加操作时,是要添加到指定的组(或文件),那么当我选择到相应的的文件名时会有一个触发事件,指示将该数据添加到指定的组(或文件),这个触发事件是怎么实现的??? 多谢回答。。。 [/quote] 触发事件使用同一个,根据传入的sender判断是谁点击,编写事件

110,536

社区成员

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

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

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