如何在treeview中匹配文本文件的最后一行并在vb.net中显示文本框?

How to match last line of text file in treeview and display text boxes in vb.net?

我对排序的 TreeView 有疑问。我 select 一个文本文件的最后一行,然后我从这个文本文件中提取添加到 TreeView 中的最后一个子节点。难处在哪,我做不到!我试过这个文件中的行数,但没有结果。事实上,我做了一些事情(当然不是)来使 selected 节点在树视图中与文本框中的显示重合。下面是截图和我的代码!我不知道我是否理解正确,我的英语是翻译的英语。谢谢你。克劳德.

Dim NbLine As Integer = 0
        Dim SR As System.IO.StreamReader = New System.IO.StreamReader(OuvrirFichier)
        While Not SR.EndOfStream
            SR.ReadLine()
            NbLine += 1
        End While
        SR.Close()

        Dim lastLine As String = File.ReadLines(OuvrirFichier, Encoding.UTF8) _
                                .Where(Function(f As String) (Not String.IsNullOrEmpty(f))).Last.ToString

        Dim mytext As String = lastLine.Substring(17, 90)

        If NbLine > 0 Then
            Dim lignesDuFichier As String() = File.ReadAllLines(OuvrirFichier, Encoding.UTF8)
            Dim derniereLigne As String = lignesDuFichier(lignesDuFichier.Length - 1)
            TreeView1.Focus()
            TreeView1.SelectedNode = TreeView1.Nodes(0).Nodes(lignesDuFichier.Length - 1)
        End If

在线评论。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim OuvrirFichier = "C:\Users\maryo\Desktop\Code\Test Empty Line.txt" '"path to file"
    'At least you will only be reading the file once
    Dim AllLines = File.ReadAllLines(OuvrirFichier)
    Dim LinesWithContent = AllLines.Where(Function(s) s.Trim() <> String.Empty)
    Dim lastLine = LinesWithContent.Last
    Dim mytext As String = lastLine.Substring(17, 90)
    Debug.Print(mytext) 'Just checking that you get what was expected
    Dim NbLine = AllLines.Length
    Dim derniereLigne As String = AllLines(NbLine - 1) 'Another variable to hold last line??? 
    'But this time it could be a blank line.
    TreeView1.Focus()
    'This makes no sense. An index of a subNode base on the number of lines in the text file
    'is supposed to be the SelectedNode
    'Why would this be the last node added?
    TreeView1.SelectedNode = TreeView1.Nodes(0).Nodes(NbLine - 1)
    'You never test the equality of the SelectedNode with mytext
End Sub