欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

treeview右键点击事件(treeview双击节点事件)

数码知识

周婳婧优秀作者

原创内容 来源:小居数码网 时间:2024-08-16 09:06:01 阅读() 收藏:54 分享:43

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有695个文字,大小约为3KB,预计阅读时间2分钟。

为TreeView控件的Node对象写双击事件代码。

treeview双击节点事件

以下是我使用TreeView控件一点心得,以此抛砖引玉,希望其它不会的程序员能受到启发,也希望我能从您们当中学到点东西!

大家应该对TreeView控件都不陌生!相信大家都知道,此控件没有节点双击事件,只有节点单击事件(NodeClick)和节点复选事件(NodeCheck)!

但我们在很多情况下都想实现节点双击的功能,要求当用户双击到节点上才引发,而双击控件上其它非节点的位置时不引发,同样的,还有鼠标右键菜单,当用鼠标右键点击节点才弹出此菜单,未点击到节点时不要弹出此菜单!

可能已经有许多人已经用其它方法实现了此功能,但我还是要向大家介绍一下我实现此功能的方法,条条道路通罗马,以供大家参考。

当用户点击一个节点时,节点和控件的事件顺序如下(其它事件与此无关,就不用列出了,下同):NodeClick()TreeView_Click()当用户双击一个节点时NodeClick()TreeView_Click()TreeView_DbClick()当用户鼠标右键点击一个节点时NodeClick()TreeView_MouseUp()TreeView_Click()由以上有顺序我们就可以写出相应的控制代码实现了

Private mNodeClick As Integer '记录节点是否被单击了

'在节点单击事件里添加以下代码Private Sub trvNode_NodeClick(ByVal Node As MSComctlLib.Node)mNodeClick = 2 '节点被点击,单击一个节点会先发生节点单击事件,再发生控件单击事件...End Sub

'在控件单击事件中添加如下代码Private Sub trvNode_Click()mNodeClick = mNodeClick - 1 '控件被点击,记一次数,如果标志为1代表节点被单击,否则节点未被点击End Sub

'在控件双击事件中添加以下代码Private Sub trvNode_DblClick()If mNodeClick = 1 Then '如果节点被点击后只发生了一次控件被点击的事件,则说明用户双击了节点,否则用户双击了控件的非节点位置mNodeClick = 0 '重新开始'写节点双击事件代码End IfEnd Sub

以上代码就实现了节点双击事件的控制

'节点右键菜单Private Sub trvNode_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbRightButton ThenIf mNodeClick = 2 Then '鼠标右键点击了节点,节点被点击后,没有发生控件点击事件'此时就可以弹出节点的右键菜单了PopupMenu menuRight, , , , menuRDesignEnd IfEnd IfEnd Sub

以上代码就实现了节点右键菜单的功能。

上面就是小居数码小编今天给大家介绍的关于(treeview双击节点事件)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(469)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:treeview右键点击事件(treeview双击节点事件):http://sjzlt.cn/shuma/156037.html

猜你喜欢