【发布时间】:2011-08-31 13:00:18
【问题描述】:
为什么我右键单击树视图中的一个节点,焦点会移动到该节点,然后立即回到之前选择的节点。有什么方法可以让我右键单击选择节点?
【问题讨论】:
标签: .net vb.net winforms .net-4.0 treeview
为什么我右键单击树视图中的一个节点,焦点会移动到该节点,然后立即回到之前选择的节点。有什么方法可以让我右键单击选择节点?
【问题讨论】:
标签: .net vb.net winforms .net-4.0 treeview
这是因为高亮颜色执行两个职责,它显示选定的节点和显示焦点节点。如果您不对右键单击事件执行任何操作,则它会跳回所选节点。解决方法是选择节点:
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
if (e.Button == MouseButtons.Right) treeView1.SelectedNode = e.Node;
}
加上你想做的任何其他事情,通常显示一个上下文菜单。
【讨论】:
抱歉,我有点过头了,我发现如何做到这一点如下:
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
难道控件不应该作为标准执行此操作吗?
【讨论】: