TreeView控件上的右键菜单
在treeView控件上添加右键菜单,想要实现以下功能:
一、在没有选中treeView中任何一项时右键会弹出一个菜单,
二、在选中treeView中某一项时右键会弹出一个不同的菜单。
新手求教,请提供思路,谢谢。
------最佳解决方案--------------------
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
ContextMenuStrip cms = new ContextMenuStrip();
if (treeView1.SelectedNode == null)
{
ToolStripMenuItem newItem = new ToolStripMenuItem();
newItem.Text = "菜单1";
cms.Items.Add(newItem);
}
else
{
ToolStripMenuItem newItem = new ToolStripMenuItem();
newItem.Text = "菜单2";
cms.Items.Add(newItem);
}
treeView1.ContextMenuStrip = cms;
}
}
用contextMenuStrip才是正确的,上面的例子没有选中时弹出“菜单1”,有选中时弹出“菜单2”
如果你的意思是判断有没有在选中节点上点击右键的话,用下面这个判断:
if (this.treeView1.SelectedNode == treeView1.GetNodeAt(e.Location))
------其他解决方案--------------------自己通过代码去绑定弹出菜单吧,
在treeview中的keydown事件去判断,要弹出的是那个菜单
------其他解决方案--------------------自己通过代码去绑定弹出菜单吧,
在treeview中的keydown事件去判断,要弹出的是那个菜单
------其他解决方案--------------------看看怎么样啊
------其他解决方案--------------------
但是自定义菜单不就要定义一个Form,如何把这个Form定义得和右键菜单一样没有边框呢?
------其他解决方案--------------------