VBA TreeView节点DoubleClick替代方法

时间:2016-01-11 01:29:40

标签: vba excel-vba treeview double-click excel

我在Excel中的UserForm中有一个TreeView。 我正在尝试解决一个事件处理程序,以便在节点中双击,因为树视图中的节点只有单击事件。双击节点会将双击的节点添加到列表框中。 我的想法是使用单击事件和与公共变量关联的计时器来检查第二次单击。

我发现此解决方法存在问题。它没有为双击提供所需的结果......仅用于三次点击!

有人可以给我一些关于如何解决这个问题的提示吗? 节点的双击事件对我正在努力实现的目标非常重要。

代码:

公共/模块常量/变量

Const sDblClickTime As Double = 1 'DblClick time
Dim d1ClickTime As Double '1st click timer
Dim d2ClickTime As Double '2nd click timer
Dim sClickNode As String '1st click node text

单击节点事件

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)

If Node.Text = sClickNode Then
    d2ClickTime = Timer
    If (d2ClickTime - d1ClickTime) <= sDblClickTime Then
        frm.ListBox1.AddItem (Node.Text)
        sClickNode = ""
    Else
        d1ClickTime = Timer
    End If
Else
    sClickNode = Node.Text
    d1ClickTime = Timer
End If

End Sub

0 个答案:

没有答案