【发布时间】:2016-11-20 12:01:26
【问题描述】:
如果用户单击树视图(右或左)并且光标不在节点上,我想将所选节点设置为空。我认为如果单击控件的任何部分,TreeView.MouseClick 事件会触发,但它似乎只在单击节点时触发。有没有办法做到这一点?
编辑* 我确实知道如何将选定的节点设置为空,tvwMain.SelectedNode = Nothing 但是当单击控件并且此时没有节点时,我无法这样做,因为 TreeView.MouseClick 和 TreeView.Click 事件确实如此除非单击节点,否则似乎不会触发。
Private Sub tvwMain_NodeMouseClick(sender As Object, e As MouseEventArgs) Handles tvwMain.Click
Dim p = New Point(e.X, e.Y)
Dim node As TreeNode = tvwMain.GetNodeAt(p)
If node IsNot Nothing Then
tvwMain.SelectedNode = node
MsgBox("HERE")
Else
tvwMain.SelectedNode = Nothing
MsgBox("TOO")
End If
End Sub
【问题讨论】:
-
Winforms、WPF 还是 ASP.Net?
-
我可以将所选节点设置为空,
tvwMain.SelectedNode = Nothing但我想在用户单击控件时执行此操作,但单击下没有节点。还有,WinForms -
Click和MouseClick应该可以工作,因为它们只是继承自Control。甚至还有一个NodeMouseClick事件应该只针对节点。
标签: vb.net winforms treeview treenode deselect