c# treeview 获取点击的节点
电脑版发表于:2019/10/11 17:21
方法一:点击事件+鼠标按下事件
如果直接用点击事件获取到的是上一次的节点,有问题所以拿一个更早的鼠标按下事件来设置一下选中的节点
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);
}
方法二:选中事件
这个事件可以直接拿到点击的节点,但是初始化的时候也会执行一次所以需要加一个判断配合
void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Action.ToString() == "ByMouse")
{
// MessageBox.Show(e.Action + "");
TreeNode treeNode = treeView1.SelectedNode;
}
}