C#之在treeview中鼠标点击的所选的节点触发事件

一、背景

如下图所示,我想实现通过鼠标点击treeview的根节点,然后在文本框控件中显示鼠标点击的节点号。

二、程序实现

因为是要通过鼠标点击才发生的事情,所以这属于一个事件,需要触发才行,刚开始不知道这个事件,一直在网上复制别人的代码,发现点击鼠标一直触发不了。需要在treeview控件的属性窗口上有个闪电的标志,代表的是事件,去设置这个触发的事件。如下图所示:

然后在NodeMouseClick里边设置触发的函数private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e),表示的是节点的触发。也就是鼠标点击节点后就会触发这个事件进行处理。程序如下:

using System.Windows.Forms;
private event TreeNodeMouseClickEventHandler NodeMouseClick;

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)  //鼠标点击节点触发的事件
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)  //单击鼠标左键才响应
            {
                if (e.Node.Level == 1)                               //判断子节点才响应
                {
                    textBox1.Text = e.Node.Text;                    //文件框中显示鼠标点击的节点名称
                }
            }    
        }

程序中鼠标点击节点是会判断鼠标的左键才会响应,然后再判断是不是子节点,如果是子节点才会显示我想要的子节点名称内容。

三、参考资料

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.treeview.nodemouseclick(v=vs.110).aspx

by 羊羊得亿
2017-07-14 ShenZhen

原文地址:https://www.cnblogs.com/yangxuli/p/7168553.html