您正在使用此“.SelectionStart=Len(Write\u code.text)”在文本末尾设置选择。您可以跟踪最后一个选择并将其设置回原处。
Private Sub Write_code_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Write_code.TextChanged
Dim strWord As String
Dim lPos As Long
strWord = "read"
lPos = InStr(1, Write_code.Text, strWord, vbTextCompare)
If lPos > 0 Then
Dim originalPosition As Long = Write_code.SelectionStart
With Write_code
.SelectionStart = lPos - 1
.SelectionLength = Len(strWord)
.SelectionColor = Color.Green
.SelectionStart = Len(Write_code.Text) ' Or maybe put it here
.SelectionLength = 0
.SelectionColor = Color.Blue
End With
Write_code.SelectionStart = originalPosition
End If
End Sub