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
With Write_code
.SelectionStart = lPos - 1
.SelectionLength = Len(strWord)
.SelectionColor = Color.Green
.SelectionStart = Len(Write_code.Text)
.SelectionLength = 0
.SelectionColor = Color.Blue
End With
End If
End Sub
这是我的代码,我有一个问题,当我再次打开文本时,它无法添加字符(只能在文本末尾添加到文本末尾)。还有其他代码可以帮助我吗?
您正在用这个".选择开始 = len(Write_code.文本)"您可以跟踪最后一个选择并将其设置回来。
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