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; } }