Vb.net 对象引用未设置为Visual Studio 2010中对象的实例
我正在尝试制作一个程序,从文件中提取文本并将其写入visual Studio 10中的标签中。我希望能够单击exe上的按钮,使其从上一行转到下一行,反之亦然。我将文本存储到一个数组中,然后使标签与数组给定部分上的文本相等。我收到错误“对象引用未设置为对象的实例”。有人能帮忙吗?谢谢以下是我的部分代码我的代码: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
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数组的末尾,因此很难知道您在这里打算做什么。