如何将文本行追加到特定 location/index 的 Richtextbox 中?
How to append lines of text into a Richtextbox at specific location/index?
我有一个 lua 脚本文件,我想在其中的特定位置添加一些新行。
假设我们有以下文本作为示例:
line 1
line 2
line 3
line 8
line 9
line 10
我想在 第 3 行 之后插入一些新行,并在 第 8 行 之前插入一些额外的行
到目前为止,我已经尝试为这些行编制索引,但没有找到使用这些索引来编写新文本行的方法。
For i As Integer = 0 To textbox.Lines.Count - 1
Dim x As Integer = i + 1
Dim y As Integer = i - 1
If textbox.Lines(i).Contains("line 3") Then
textbox.Lines(x).Append("Line 4")
End If
Next
万一其他人面临同样的障碍,我发现需要的结果是通过使用Input/Output库和线程库Imports System.IO
,Imports System.Threading
,结合以下 for 循环:
For i As Integer = 0 To textbox.Lines.Length - 1
Dim s As String = textbox.Lines(i)
Dim index As Integer = s.IndexOf("line 3")
If index > -1 Then
Dim length As Integer = s.Length - index
index += textbox.GetFirstCharIndexFromLine(i)
textbox.Select(index + length, 1)
Thread.Sleep(1)
SendKeys.SendWait("{ENTER}")
textbox.Text = textbox.Text.Insert(textbox.GetFirstCharIndexOfCurrentLine,
"line 4" & vbCrLf &
"line 5 " & vbCrLf &
"line 6" & vbCrLf &
"line 7" & vbCrLf)
End If
Next
我有一个 lua 脚本文件,我想在其中的特定位置添加一些新行。 假设我们有以下文本作为示例:
line 1
line 2
line 3
line 8
line 9
line 10
我想在 第 3 行 之后插入一些新行,并在 第 8 行 之前插入一些额外的行 到目前为止,我已经尝试为这些行编制索引,但没有找到使用这些索引来编写新文本行的方法。
For i As Integer = 0 To textbox.Lines.Count - 1
Dim x As Integer = i + 1
Dim y As Integer = i - 1
If textbox.Lines(i).Contains("line 3") Then
textbox.Lines(x).Append("Line 4")
End If
Next
万一其他人面临同样的障碍,我发现需要的结果是通过使用Input/Output库和线程库Imports System.IO
,Imports System.Threading
,结合以下 for 循环:
For i As Integer = 0 To textbox.Lines.Length - 1
Dim s As String = textbox.Lines(i)
Dim index As Integer = s.IndexOf("line 3")
If index > -1 Then
Dim length As Integer = s.Length - index
index += textbox.GetFirstCharIndexFromLine(i)
textbox.Select(index + length, 1)
Thread.Sleep(1)
SendKeys.SendWait("{ENTER}")
textbox.Text = textbox.Text.Insert(textbox.GetFirstCharIndexOfCurrentLine,
"line 4" & vbCrLf &
"line 5 " & vbCrLf &
"line 6" & vbCrLf &
"line 7" & vbCrLf)
End If
Next