为 richtextbox 使用颜色,但在添加其他字符时在 con trỏ mouse 中出错

use color for richtextbox but error in con trỏ mouse when additional character characters

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

这是我的代码,我有一个问题,当我再次打开文本时,它无法添加字符(只能在文本末尾添加到文本末尾)。有没有其他代码可以帮助我。

您正在使用此“.SelectionStart = Len(Write_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