我需要使用TextBox
循环更改For
中的某些行。问题是当我运行以下代码时,我得到一个IndexOfOfRangeException
。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For counter As Integer = 0 To TextBox1.Lines.Length = -1
TextBox1.Text = "some text" & "(" & """" & TextBox1.Lines(counter) & """" & ")" & vbCrLf
Next
End Sub
答案 0 :(得分:0)
第一
For counter As Integer = 0 To TextBox1.Lines.Length = -1
应该是
For counter As Integer = 0 To TextBox1.Lines.Length -1
否则它会将To
之后的部分评估为布尔值。
第二
TextBox1.Text = "some text" & "(" & """" & TextBox1.Lines(counter) & """" & ")" & vbCrLf
您正在将文本框的完整文本设置为此新字符串,而不是仅更改一行。
执行此任务的最简单方法是将文本框的行复制到字符串数组中,更改该数组中的字符串并将其复制回来。
Dim tempArray as String()
tempArray = TextBox1.Lines
For counter = 0 to tempArray.Length -1
tempArray(counter) = "some text" & "(" & """" & tempArray(counter) & """" & ")" & vbCrLf
Next
TextBox1.Lines = tempArray