Vb.net 对象引用未设置为Visual Studio 2010中对象的实例

Vb.net 对象引用未设置为Visual Studio 2010中对象的实例,vb.net,winforms,.net-4.0,Vb.net,Winforms,.net 4.0,我正在尝试制作一个程序,从文件中提取文本并将其写入visual Studio 10中的标签中。我希望能够单击exe上的按钮,使其从上一行转到下一行,反之亦然。我将文本存储到一个数组中,然后使标签与数组给定部分上的文本相等。我收到错误“对象引用未设置为对象的实例”。有人能帮忙吗?谢谢以下是我的部分代码我的代码: Private Sub BrowseButton_Click(sender As System.Object, e As System.EventArgs) Handles Brow

我正在尝试制作一个程序,从文件中提取文本并将其写入visual Studio 10中的标签中。我希望能够单击exe上的按钮,使其从上一行转到下一行,反之亦然。我将文本存储到一个数组中,然后使标签与数组给定部分上的文本相等。我收到错误“对象引用未设置为对象的实例”。有人能帮忙吗?谢谢以下是我的部分代码我的代码:

   Private Sub BrowseButton_Click(sender As System.Object, e As System.EventArgs) Handles BrowseButton.Click

            Dim UserInput As DialogResult = Browser.ShowDialog()

            If UserInput = Windows.Forms.DialogResult.Cancel Then
                Return
            End If

            FileOpen(1, Browser.FileName, OpenMode.Input)
            Do While Not EOF(1)
                Input(1, InternalTextFile(Index))
                Index += 1
            Loop
            FileClose(1)
            Output1Text.Text = InternalTextFile(Index)
            Output2Text.Text = InternalTextFile(Index + 1)

    End Sub

错误出现在
Input(1,InternalTextFile(Index))

行,但如果错误出现在
Input(1,InternalTextFile(Index))
,则变量
InternalTextFile
可能从未赋值。也许是这样的

Dim InternalTextFile As New List(of String)
Dim reader As StreamReader = New StreamReader(Browser.FileName)
Try
    Do 
        InternalTextFile.Add(reader.ReadLine)
    Loop Until reader.Peek = -1
Finally
    reader.Close()
End Try

看起来你可能想要这样的东西:

Private Sub BrowseButton_Click(sender As System.Object, e As System.EventArgs) Handles BrowseButton.Click
    If Browser.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub

    Dim InternalTextFile() As String = File.ReadAllLines(Browser.FileName)
    Output1Text.Text = InternalTextFile(InternalTextFile.Length - 2)
    Output2Text.Text = InternalTextFile(InternalTextFile.Length - 1)
End Sub

为什么在.Net中使用vb6文件访问API?这些代码只用于迁移遗留代码,在新的开发中应该完全避免使用。那么,先生,您建议使用什么代码?请参阅此处了解一些基本的.NET IO内容,我们需要有关InternalTextFile数组的更多信息。实际上,看起来您正在读取Output2Text数组的末尾,因此很难知道您在这里打算做什么。