在richtextbox中突出显示颜色

时间:2012-06-22 12:52:09

标签: vb.net editor

Public Sub textcolorchanged()
    Dim searchword As String = RichTextBox2.Text.ToString.Trim

    Dim index1 As Integer = 0

    While index1 <> -1
      If (index1 < ORGFILETXT.Text.Length) Then
        index1 = ORGFILETXT.Find(searchword, index1, RichTextBoxFinds.None)
        'If (index1 <= ORGFILETXT.TextLength) Then
            If index1 <> -1 Then
                ORGFILETXT.SelectionStart = index1
                ORGFILETXT.SelectionLength = searchword.Length
                ORGFILETXT.SelectionColor = Color.Red
                index1 = index1 + searchword.Length
            End If
        'End If

      Else
          index1 = -1
      End if
    End While
End Sub

我搜索了datagridview1行的单词并在富文本框中突出显示了搜索词。文字(它有全文) 我在datagridview1鼠标点击和键盘输入以及按键事件

中调用了此方法

单词在富文本框文本框中突出显示当我点击鼠标并按键并按下数据网格中的搜索词行时,但是有时候获取全文会改变颜色如何??? 请帮助我

1 个答案:

答案 0 :(得分:1)

阅读RichTextBox.Find Method (String, Int32, RichTextBoxFinds)的文档我怀疑,如果找不到字符串,则返回值为负数,但不是-1。
如果是这种情况,那么您的代码可能无法设置选择颜色。

您可以尝试更改此行

If index1 <> -1 Then 

If index1 >= 0 Then 

另请参阅他们的example in MSDN