
可以使用鼠标按下事件解决,如果直接用点击事件获取到的是上一次的节点,有问题所以拿一个更早的鼠标按下事件来设置一下选中的节点
参考代码如下:
- void treeView1_MouseDown(object sender, MouseEventArgs e)
- {
- //鼠标按下事件,把选中的焦点移动到当前的位置
- treeView1.SelectedNode = treeView1.GetNodeAt(e.X, e.Y);
- }
-
- void treeView1_Click(object sender, EventArgs e)
- {
- //可以拿到选中的节点(选中的是上一次的)
- TreeNode treeNode = treeView1.SelectedNode;
- MessageBox.Show(treeNode.Text);
- }
评价