Событие 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
Другие вопросы по тегам