Событие Treeview .Click и.MouseClick не запускается, когда ни один узел не нажат
Я хочу установить для выбранного узла ничего, если пользователь нажимает на древовидную структуру (справа или слева), а курсор не находится на узле. Я думал, что событие 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
1 ответ
Решение
TreeNode test = tvwMain.GetNodeAt(tvwMain.PointToClient(Cursor.Position))
If IsNothing(test) Then tvwMain.SelectedNode = Nothing