TreeView中右击直接获取节点的方法

时间:2023-03-08 16:37:55

在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)     括号里面的值不要改动。