问题描述:
WinForm的treeView控件,需要使用右键菜单时,发现,当右键点击treeView的某个节点后,其焦点并不会转移到右键点击的那个节点,select Node相关的事件也不会发生,点击右键菜单都能转移焦点,处于被选中的状态,所以获取不了当前选中的值。
解决方法:
1、为treeView控件添加MouseEventHandler事件
tvwDatabase.MouseDown += new MouseEventHandler(OnMouseUp);
2、事件里判断鼠标右键设置当前点击坐标为选择节点
private void OnMouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
tvwDatabase.SelectedNode = tvwDatabase.GetNodeAt(new Point(e.X, e.Y));
}
}
这样就可以解决了。。。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
WinForm treeView 右键获取焦点 MouseEventHandler MouseButtons GetNodeAt