Vb.net VB中的错误:类型为';的未处理异常;系统索引自动失效异常';发生在language.exe中

Vb.net VB中的错误:类型为';的未处理异常;系统索引自动失效异常';发生在language.exe中,vb.net,Vb.net,language.exe中发生类型为“System.IndexOutOfRangeException”的未处理异常 附加信息:索引超出了数组的边界 以下是错误所在的代码: Private Sub RichTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles RichTextBox1.KeyDown Dim i As Integer = 0 If e.KeyCode = Keys.Enter Th

language.exe中发生类型为“System.IndexOutOfRangeException”的未处理异常

附加信息:索引超出了数组的边界

以下是错误所在的代码:

Private Sub RichTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles         RichTextBox1.KeyDown
    Dim i As Integer = 0
    If e.KeyCode = Keys.Enter Then
        i = i + 1
        Dim t As String = RichTextBox1.Lines(i).ToString()
        ListBox1.Items.Add(t)
    End If
End Sub
试试这个

If e.KeyCode = Keys.Enter Then
    Dim index As Integer = RichTextBox1.SelectionStart
    Dim line As Integer = RichTextBox1.GetLineFromCharIndex(index)
    ListBox1.Items.Add(RichTextBox1.Lines(line).ToString())
End If
试试这个

If e.KeyCode = Keys.Enter Then
    Dim index As Integer = RichTextBox1.SelectionStart
    Dim line As Integer = RichTextBox1.GetLineFromCharIndex(index)
    ListBox1.Items.Add(RichTextBox1.Lines(line).ToString())
End If
试试这个

If e.KeyCode = Keys.Enter Then
    Dim index As Integer = RichTextBox1.SelectionStart
    Dim line As Integer = RichTextBox1.GetLineFromCharIndex(index)
    ListBox1.Items.Add(RichTextBox1.Lines(line).ToString())
End If
试试这个

If e.KeyCode = Keys.Enter Then
    Dim index As Integer = RichTextBox1.SelectionStart
    Dim line As Integer = RichTextBox1.GetLineFromCharIndex(index)
    ListBox1.Items.Add(RichTextBox1.Lines(line).ToString())
End If


NET中的数组从索引0开始。RichTextBox的第一行位于索引0而不是1。很明显,您正试图从RichTextBox中检索一行不存在的内容,就像错误消息告诉您的那样。学习实际阅读错误信息中的单词-它们实际上包含有用的信息。(您还应该学习使用调试器;即使您没有阅读错误消息,调试器也会准确地向您显示问题所在以及发生的位置。)正如上面提到的,数组从零开始,加上您的代码不完全清楚,你想做什么?我想把输入rtb的每一行文本放入
i
不会像你想象的那样递增
Dim i.
意味着每次按下一个键时它都从零开始,这是一个非常奇怪的读取行的位置-你真的希望每次按下一个键时代码都运行吗?网络中的数组从索引零开始。RichTextBox的第一行位于索引0而不是1。很明显,您正试图从RichTextBox中检索一行不存在的内容,就像错误消息告诉您的那样。学习实际阅读错误信息中的单词-它们实际上包含有用的信息。(您还应该学习使用调试器;即使您没有阅读错误消息,调试器也会准确地向您显示问题所在以及发生的位置。)正如上面提到的,数组从零开始,加上您的代码不完全清楚,你想做什么?我想把输入rtb的每一行文本放入
i
不会像你想象的那样递增
Dim i.
意味着每次按下一个键时它都从零开始,这是一个非常奇怪的读取行的位置-你真的希望每次按下一个键时代码都运行吗?网络中的数组从索引零开始。RichTextBox的第一行位于索引0而不是1。很明显,您正试图从RichTextBox中检索一行不存在的内容,就像错误消息告诉您的那样。学习实际阅读错误信息中的单词-它们实际上包含有用的信息。(您还应该学习使用调试器;即使您没有阅读错误消息,调试器也会准确地向您显示问题所在以及发生的位置。)正如上面提到的,数组从零开始,加上您的代码不完全清楚,你想做什么?我想把输入rtb的每一行文本放入
i
不会像你想象的那样递增
Dim i.
意味着每次按下一个键时它都从零开始,这是一个非常奇怪的读取行的位置-你真的希望每次按下一个键时代码都运行吗?网络中的数组从索引零开始。RichTextBox的第一行位于索引0而不是1。很明显,您正试图从RichTextBox中检索一行不存在的内容,就像错误消息告诉您的那样。学习实际阅读错误信息中的单词-它们实际上包含有用的信息。(您还应该学习使用调试器;即使您没有阅读错误消息,调试器也会准确地向您显示问题所在以及发生的位置。)正如上面提到的,数组从零开始,加上您的代码不完全清楚,你想做什么?我想把输入rtb的每一行文本放入
i
不会像你想象的那样递增
Dim i..
意味着每次按下一个键时它都从零开始,这是一个非常奇怪的读取行的位置-你真的希望每次按下一个键时都运行该代码吗?这不起作用,因为这只是一次又一次地添加整个内容,我只希望逐行完成OK,让我把这个弄对,当你按下回车键时,你想要它吗?上面的一行被添加到列表框中?这不起作用,因为这只是一次又一次地添加整个内容,我只想一行一行地完成好,让我把这个弄对,当你按下回车键时,你想要它吗?上面的一行被添加到列表框中?这不起作用,因为这只是一次又一次地添加整个内容,我只想一行一行地完成好,让我把这个弄对,当你按enter键时,你想要它吗?上面的行被添加到列表框中?这不起作用,因为这只是一次又一次地添加整个内容。我只想一行一行地完成。好吧,让我把这个弄对,当你按enter键时,你想要它吗?上面的行被添加到列表框中?