2014-01-19 52 views
0

類型「System.IndexOutOfRangeException」的未處理的異常發生在language.exe錯誤在VB:類型System.IndexOutOfRangeException'的未處理的異常發生在language.exe

其他信息:索引的邊界之外陣列。

這裏是哪裏出錯代碼:

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 
+0

陣列中NET開始於指數爲零。 RichTextBox的第一行不是索引零。 – Steve

+3

顯然你試圖從RichTextBox中檢索一條不存在的行,就像錯誤信息告訴你的一樣。學會在錯誤信息中實際*閱讀單詞* - 它們實際上具有有用的信息。 (你也應該學會使用調試器;即使你沒有閱讀錯誤信息,調試器也會告訴你問題是什麼以及它發生了什麼。) –

+0

正如上面所說的那樣,數組從零開始,加上你的代碼不完全清楚,你想要做什麼? – NetInfo

回答

3

試試這個

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 
+0

,不工作,因爲這只是一遍又一遍地添加整個事情我只是想要它一行一行地完成 – tgs266

+0

好吧,讓我得到這個權利,你想要它,當你按下輸入上面的行被添加到列表框? – NetInfo

+0

是的,這是正確的 – tgs266

相關問題