我有一个TreeView控件。假设我有5个节点。在选择一个节点时,我用该SelectedNode下的所有目录填充了一个ListView。然后,我单击一个按钮,这将修改ListView项。
因此,当我再次选择TreeView中的节点(与我之前选择的节点相同)时,AfterSelect事件不会触发。正因为如此,我的ListView没有更新。
有什么想法吗,伙计们?
发布于 2018-04-29 20:02:35
解决方法是切换选定的节点...
treeView.NodeMouseClick += delegate(object sender, TreeNodeMouseClickEventArgs e) {
TreeNode selected = e.Node;
// If node already selected - unselect, then reselect
if (selected == treeView.SelectedNode) {
treeView.SelectedNode = null;
treeView.SelectedNode = selected;
}
};
发布于 2011-04-25 20:08:03
它不会触发,因为该项目已被选中。改为处理MouseDown
或PreviewMouseDown
。
发布于 2017-04-12 19:07:45
您可以使用MouseClick事件代替AfterSelect事件:
Sub treeView1_NodeMouseClick(ByVal sender As Object, ByVal e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
' textBox1.Text = e.Node.Text
If Not e.Node.Tag Is Nothing Then
Dim frm As Form = DirectCast(e.Node.Tag, Form)
frm.ShowDialog()
''frm.Dispose()
End If
End Sub
https://stackoverflow.com/questions/5778080
复制相似问题