VB.NET逐行读取文本文件,并通过按钮单击设置文本框中的每一行

时间:2014-04-13 18:44:02

标签: vb.net

你好我想逐行阅读文本文件并在文本框中设置每个留置权时间点击按钮 这是我的代码,工作正常。但我正在寻找简单的方法来阅读更多5行的大文本?

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Static count As Integer
    count = count + 1

    Dim textfile As String = "c:\test.txt"
    If IO.File.Exists(textfile) Then
        Dim readLines() As String = IO.File.ReadAllLines(myFile)
        If count = 1 Then
            TextBox1.Text = readLines(0)
        End If
        If count = 2 Then
            TextBox1.Text = readLines(1)
        End If
        If count = 3 Then
            TextBox1.Text = readLines(2)
        End If
        If count = 4 Then
            TextBox1.Text = readLines(3)
        End If
        If count = 5 Then
            TextBox1.Text = readLines(4)
        End If
        If count = 6 Then
            TextBox1.Text = readLines(5)
        End If
    End If
End Sub

2 个答案:

答案 0 :(得分:1)

我认为您在加载表单时只需要读取一次该文件(假设此处有WinForms示例)

' Declare these two globally 
Dim readLines() As String
Dim count As Integer = 0

Private void Form_Load(sender As Oject, e As EventArgs) Handles Base.Load

    ' In form load, read the file, just one time
    Dim textfile As String = "c:\test.txt"
    If IO.File.Exists(textfile) Then
        readLines() As String = IO.File.ReadAllLines(myFile)
    else 
        TextBox1.Text "File not found"
    End If

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

    ' Check if you have a file and if you don't have reached the last line
    if readLines IsNot Nothing AndAlso count < readLines.Length Then
        TextBox1.Text = readLines(count)
        count += 1
    else 
        TextBox1.Text "End of file"
    End If
End Sub

答案 1 :(得分:0)

这减少了您需要编写的代码量:

TextBox1.Text = readLines(count - 1)