对富文本框使用颜色,但在添加字符字符时在鼠标中出错


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

最新更新