【问题标题】:TreeView ContainsKey not working during add loopTreeView ContainsKey 在添加循环期间不起作用
【发布时间】:2016-12-03 09:03:40
【问题描述】:

我一直在查看documentation 并阅读有关该主题的帖子,但仍未找到答案

currentTREENODE = treeviewResults.TopNode


        For Each item As String In incomingList

            If treeviewResults.Nodes.ContainsKey(item) Then

                currentTREENODE = treeviewResults.Nodes.Find(item, True)(0)

            Else

                newNode = New TreeNode(item)
                newNode.Name = item

                currentTREENODE.Nodes.Add(newNode)

            End If

        Next

我一开始以为 Collection 没有立即更新,所以我尝试了 BeginUpdate() 和 EndUpdate()、Update()、Refresh() 但这并没有解决问题

【问题讨论】:

  • 你想做什么?你没有在任何地方使用nextTREENODE,只是分配它
  • 清理了一些
  • 你想做什么? 如果节点已经存在(不需要 IF 部分),它不会做任何事情。 TopNode 是第一个可见节点,而不是根节点,这是你想要的吗?密钥与文本不同,因此看起来可能失败。
  • 我没有意识到 containskey 不检查子节点。您是否看到 treeview.nodes.find(item,true) 无法确定树节点是否已经存在的任何原因?

标签: vb.net treeview refresh treenode containskey


【解决方案1】:

Treeview.nodes.find 效果最好,现在我只需要弄清楚如何使用部分名称或通配符来完成它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 2019-11-30
    • 1970-01-01
    • 2011-03-28
    • 2020-03-05
    相关资源
    最近更新 更多