在TreeView中无法直接右击得到一个节点,因为当你选中其中一个右击时(不能是第一个)他会默认跳到第一个。 有时我们要想直接右击得到选中的节点,又时我们又想选中直接右击跳出一个快捷菜单怎么办了!
在TreeView中右击获取节点的方法入下:
//定义一个节点 它等于鼠标获得的节点
TreeNode node = tvShow.GetNodeAt(e.X, e.Y);
//判断是否选中一个节点
if (node == null)
{
//选中时刚得到的鼠标节点赋值给选中的节点
tvShow.SelectedNode = node;
}
其中 tvShow 是TreeView的控件名(自定义的)
GetNodeAr() 用的是TreeView中的一个方法 它的作用是检索为于指定点(以坐标表示)的树节点。 因此它要传入坐标 也就是我们鼠标的坐标 e.x , e.y 。
GetNodeAt(e.X, e.Y) 括号里面的值不要改动。