首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >多次触发TreeView AfterSelect事件

多次触发TreeView AfterSelect事件
EN

Stack Overflow用户
提问于 2011-04-25 19:56:40
回答 4查看 7.3K关注 0票数 3

我有一个TreeView控件。假设我有5个节点。在选择一个节点时,我用该SelectedNode下的所有目录填充了一个ListView。然后,我单击一个按钮,这将修改ListView项。

因此,当我再次选择TreeView中的节点(与我之前选择的节点相同)时,AfterSelect事件不会触发。正因为如此,我的ListView没有更新。

有什么想法吗,伙计们?

EN

回答 4

Stack Overflow用户

发布于 2018-04-29 20:02:35

解决方法是切换选定的节点...

代码语言:javascript
复制
    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;
        }
    };
票数 2
EN

Stack Overflow用户

发布于 2011-04-25 20:08:03

它不会触发,因为该项目已被选中。改为处理MouseDownPreviewMouseDown

票数 0
EN

Stack Overflow用户

发布于 2017-04-12 19:07:45

您可以使用MouseClick事件代替AfterSelect事件:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5778080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档