C# 右键菜单事件解决办法
C# 右键菜单事件
我想使用ContextMenuStrip控件实现文件的添加,如下图所示:

鼠标右键弹出MenuStrip,当选择“添加》”,点击后面的组(文件)名后,就添加到相应的组或者文件下面。
关键是组(文件)的个数是变化的(1-n),这个触发事件该怎么写?其实这就像office办公软件的打开最近文件差不多,因为最近文件总是变化的,那么office的打开最近文件是怎么实现的?
总的要求:右键点击添加后能添加到指定的组或者文件中。。。
------解决思路----------------------
ContextMenuStrip.Items.Add 动态添加。
或者你先添加好了,在运行时通过Visibled控制
------解决思路----------------------
菜单项.Click+=你的事件处理程序。
事件处理程序通过sender判断是哪个菜单触发的。
------解决思路----------------------
。。。
首先你肯定知道要添加多少个的“组文件”
在添加的代码里加入
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();
这里该干嘛干嘛
}
------解决思路----------------------
触发事件使用同一个,根据传入的sender判断是谁点击,编写事件
我想使用ContextMenuStrip控件实现文件的添加,如下图所示:
鼠标右键弹出MenuStrip,当选择“添加》”,点击后面的组(文件)名后,就添加到相应的组或者文件下面。
关键是组(文件)的个数是变化的(1-n),这个触发事件该怎么写?其实这就像office办公软件的打开最近文件差不多,因为最近文件总是变化的,那么office的打开最近文件是怎么实现的?
总的要求:右键点击添加后能添加到指定的组或者文件中。。。
------解决思路----------------------
ContextMenuStrip.Items.Add 动态添加。
或者你先添加好了,在运行时通过Visibled控制
------解决思路----------------------
菜单项.Click+=你的事件处理程序。
事件处理程序通过sender判断是哪个菜单触发的。
------解决思路----------------------
。。。
首先你肯定知道要添加多少个的“组文件”
在添加的代码里加入
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();
这里该干嘛干嘛
}
------解决思路----------------------
触发事件使用同一个,根据传入的sender判断是谁点击,编写事件