不需要的树视图节点在列表末尾重复

unwanted treeview node duplicating at the end of list

我有以下代码,但似乎找不到父节点重复出现在列表末尾的原因(也没有解决方案)?

Imports System.IO
Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim di As New IO.DirectoryInfo("c:\la")
    Dim diar1 As IO.FileInfo() = di.GetFiles()
    Dim dra As IO.FileInfo

    For Each dra In diar1

        'Dim sr As StreamReader = New StreamReader(dra.FullName)
        If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
            TreeView1.Nodes.Add("Offerts")
            TreeView1.Nodes(0).Nodes.Add(dra.Name)
        End If
    Next

End Sub
End Class

在它找到的第一个 .xls 文件上,它在树的根目录中创建一个 "Offerts" 节点,然后在 "Offerts".

下创建一个文件名的节点

在后续的 .xls 文件中,它会在根目录中创建 另一个 "Offerts" 节点,然后在第一个节点(第一个 "Offerts" 创建的节点)。

所以我认为你想要做的只是在根目录下创建一次 "offerts" 节点,所以每次找到 .xls 时 TreeView1.Nodes.Add("Offerts") 不应该是 运行文件。所以用类似的东西替换那行:

If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Offerts")

在这种情况下会起作用。如果树视图已经有节点,则必须修改该逻辑。