【发布时间】:2015-01-02 08:30:29
【问题描述】:
我有一个 RichTextBox (txt) 和一个 OpenFileDialog (Open1)。当我尝试以下操作时,我在指定的行上有一个 IndexOutOfRangeException:
Private Sub OpenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenToolStripMenuItem.Click
If (Open1.ShowDialog() = System.Windows.Forms.DialogResult.OK) Then
fName = Open1.FileName
txt.LoadFile(fName, RichTextBoxStreamType.PlainText)
Dim i As Integer = 0
While i < txt.Lines.Length
AnalyseLine(i)
i = i + 1
End While
End If
End Sub
Private Sub AnalyseLine(ByVal line As Integer)
Select Case txt.Lines(line).Substring(0, 1) '''' EXCEPTION ON THIS LINE ''''
' [...]
End Select
End Sub
无论 line 变量值多少,每次都会抛出异常。 我真的不明白为什么,因为它对每个文本文件都抛出相同的异常。此外,似乎这个问题只有在打开新文件时才会出现,因为使用以下代码,它可以正常工作......
Private Sub txt_TextChanged(sender As Object, e As EventArgs) Handles txt.TextChanged
AnalyseLine(txt.GetLineFromCharIndex(txt.GetFirstCharIndexOfCurrentLine))
End Sub
【问题讨论】:
-
我得到了它的工作,通过用 txt.Text = System.IO.File.ReadAllText(fName) 替换 txt.LoadFile(fName, RichTextBoxStreamType.PlainText) 但我仍然不明白......
标签: vb.net richtextbox selection