How can I right click to select a node in a treeview control
Why I right click on a node in my treeview the focus moves to this node and then immediately back to the previously selected node. Is there some way that I can allow the ri开发者_JAVA技巧ght click to select the node?
That's because the highlight color performs two duties, it shows the selected node and shows the focused node. If you don't do anything with the right-click event then it jumps back to the selected node. The workaround is to select the node:
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
if (e.Button == MouseButtons.Right) treeView1.SelectedNode = e.Node;
}
Plus anything else you want to do, usually displaying a context menu.
Apologies I jumped the gun slightly I found how to do this as follows:
Private Sub TreeView1_NodeMouseClick(sender As Object, e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
If e.Button = Windows.Forms.MouseButtons.Right Then
TreeView1.SelectedNode = e.Node
End If
End Sub
Shouldn't the control do this as standard though?
精彩评论