急急!请版主和高手兄弟们帮助我一个困惑我很久的上下文菜单问题!多谢,我在线等待 contextmenu.MenuItems[0].Click += new EventHandler(Delete_Click); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 contextmenu.MenuItems[0].Click += new EventHandler(contextmenu_Click); private void contextmenu_Click(object sender, System.EventArgs e) { MenuItem item =sender as MenuItem; switch (item.Text) { case "删除": Delete(); break; case "打开": Open(); break; } } for(int i=0;i<this.ContextMenu.MenuItems.Count;i++){ this.ContextMenu.MenuItems[i].Click +=new EventHandler(contextmenu_Click);} ???????????????????????????????????各位兄弟们你们的方法是:在通过在界面上编辑contextmenu控件得到的上下文菜单时要响应事件,用你们以上说的方法,是行的通的现在我是用写代码的方式(如contextmenu.MenuItems.Add("删除"))来添加上下文菜单的,我用过你们上面的响应事件的方法了,结果没反映.就是根本就不响应事件!大家可试试啊多谢!急急 冷雨夜 你好! 我的代码放在treeView1_MouseUp事件中 因为我的上下文菜单是和treeView控件相关联的 你可试试,麻烦你了 多谢! private void Form1_Load(object sender, System.EventArgs e) { MenuItem menuI = new MenuItem( "删除" , new EventHandler( del_clik ) ); this.contextMenu1.MenuItems.Add( 0 , menuI ); } private void del_clik( object sender, System.EventArgs e ) { MessageBox.Show( "del" ); } 我试了,可以啊建议你不要在treeView1_MouseUp事件中增加菜单项可以在Form_Load事件中初始化菜单,绑定事件可以参照lnzyquan() private void treeView1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if(e.Button ==MouseButtons.Right) { TreeView tv=sender as TreeView; tv.ContextMenu =this.contextMenu1; } } ???????????????因为我在treeview不同的接点中右击有不同的上下文菜单如果我放在Form_Load事件中初始化的能实现点击败treeview不同的接点有不同的上下文菜单吗?请各高手兄弟们帮我一下啊 private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { TreeNode tn = new TreeNode(); tn = e.Node; TreeView tv=sender as TreeView; if(tn.Text == "节点1") { this.ContextMenu.MenuItems.Clear(); this.ContextMenu.MenuItems.Add("增加节点1"); this.ContextMenu.MenuItems.Add("删除节点1"); for(int i=0;i<this.ContextMenu.MenuItems.Count;i++) { this.ContextMenu.MenuItems[i].Click +=new EventHandler(contextmenu_Click); } tv.ContextMenu =this.contextMenu1; } else if(tn.Text == "节点2") { this.ContextMenu.MenuItems.Clear(); this.ContextMenu.MenuItems.Add("增加节点2"); this.ContextMenu.MenuItems.Add("删除节点2"); for(int i=0;i<this.ContextMenu.MenuItems.Count;i++) { this.ContextMenu.MenuItems[i].Click +=new EventHandler(contextmenu_Click); } tv.ContextMenu =this.contextMenu1; } else { this.ContextMenu.MenuItems.Clear(); tv.ContextMenu =null; return; } } 其实点不同的树节点,弹出菜单不一样,可以用MenuItem的Enable属性屏蔽掉就可以了啊如果知道一共有哪些菜单项的化可以先初始化好,然后根据节点的不同开放菜单项我原来就是这样做的,通过treeView1_MouseDown事件处理而不是MouseUp事件 jackyoung02(冷雨夜) 你好你说的屏蔽是用写代码屏蔽吧, 我在treeview控件中该怎么屏蔽呢应该是给所有的上下文菜单先用写代码方式给写出来然后根据点击不同的节点而屏蔽不同的菜单吧,怎么实现呢? 正则表达式的最小匹配 关于方法传参的问题 sql语句 请问DirectoryService能不能远程操作IIS? 怎么在一个字符串里面把特定的字符串提取出来? TextBox边框框颜色 (郁闷了一天了) 如何制作特定应用程序的监视软件(有点像网游的外挂) 请教一个C#开发cs软件的问题 请问,在C#种怎么将一个float型数字四舍五入 如何在CSP中使用密钥容器名获得密钥对 哪位大侠有泄漏的windows源码?能否提供一份?愿意出钱购买。若有,请留下您的邮件地址,万分感谢! 海南的朋友告诉我.NET程序员的收入?
{
MenuItem item =sender as MenuItem; switch (item.Text)
{
case "删除":
Delete();
break;
case "打开":
Open();
break;
}
}
{
this.ContextMenu.MenuItems[i].Click +=new EventHandler(contextmenu_Click);
}
各位兄弟们你们的方法是:在通过在界面上编辑contextmenu控件得到的上下文菜单时要响应事件,用你们以上说的方法,是行的通的
现在我是用写代码的方式(如contextmenu.MenuItems.Add("删除"))来添加上下文菜单的,我用过你们上面的响应事件的方法了,结果没反映.就是根本就不响应事件!大家可试试啊
多谢!急急
你好!
我的代码放在treeView1_MouseUp事件中 因为我的上下文菜单是和treeView控件相关联的 你可试试,麻烦你了
多谢!
{
MenuItem menuI = new MenuItem( "删除" , new EventHandler( del_clik ) );
this.contextMenu1.MenuItems.Add( 0 , menuI );
} private void del_clik( object sender, System.EventArgs e )
{
MessageBox.Show( "del" );
}
建议你不要在treeView1_MouseUp事件中增加菜单项
可以在Form_Load事件中初始化菜单,绑定事件
可以参照lnzyquan()
{
if(e.Button ==MouseButtons.Right)
{
TreeView tv=sender as TreeView;
tv.ContextMenu =this.contextMenu1;
}
}
{
TreeNode tn = new TreeNode();
tn = e.Node;
TreeView tv=sender as TreeView;
if(tn.Text == "节点1")
{
this.ContextMenu.MenuItems.Clear();
this.ContextMenu.MenuItems.Add("增加节点1");
this.ContextMenu.MenuItems.Add("删除节点1");
for(int i=0;i<this.ContextMenu.MenuItems.Count;i++)
{
this.ContextMenu.MenuItems[i].Click +=new EventHandler(contextmenu_Click);
}
tv.ContextMenu =this.contextMenu1;
}
else if(tn.Text == "节点2")
{
this.ContextMenu.MenuItems.Clear();
this.ContextMenu.MenuItems.Add("增加节点2");
this.ContextMenu.MenuItems.Add("删除节点2");
for(int i=0;i<this.ContextMenu.MenuItems.Count;i++)
{
this.ContextMenu.MenuItems[i].Click +=new EventHandler(contextmenu_Click);
}
tv.ContextMenu =this.contextMenu1;
}
else
{
this.ContextMenu.MenuItems.Clear();
tv.ContextMenu =null;
return;
}
}
如果知道一共有哪些菜单项的化可以先初始化好,然后根据节点的不同开放菜单项
我原来就是这样做的,通过treeView1_MouseDown事件处理而不是MouseUp事件
你好
你说的屏蔽是用写代码屏蔽吧,
我在treeview控件中该怎么屏蔽呢应该是给所有的上下文菜单先用写代码方式给写出来
然后根据点击不同的节点而屏蔽不同的菜单吧,怎么实现呢?