在RichTextBox中更改Word的所有实例的颜色

时间:2013-02-22 23:32:30

标签: vb.net colors richtextbox highlight

我试图这样做,我可以在代码中指定一个或多个单词,当我编译/调试时,我希望程序在richtextbox中搜索这些单词的所有实例并改变颜色。

Dim GRAB as String = New WebClient().DownloadString("example.com")
RichTextBox1.Text = GRAB
` Color Word Code Here

我在谷歌上查了很多东西,但我尝试过的所有东西都只会突出第一个字。

对不起,如果我的打字很糟糕,我用手臂打字就打字..

有人可以帮我这个,还是写一个快速片段?

3 个答案:

答案 0 :(得分:1)

试试这个:

Dim wordslist As New List(Of String)
wordslist.Add("Hello")
wordslist.Add("World")

Dim len As Integer = RichTextBox1.TextLength

For Each word As String In wordslist

    Dim lastindex = RichTextBox1.Text.LastIndexOf(word)
    Dim index As Integer = 0

    While index < lastindex

    RichTextBox1.Find(word, index, len, RichTextBoxFinds.None)
    RichTextBox1.SelectionColor = Color.Blue
    index = RichTextBox1.Text.IndexOf(word, index) + 1

    End While

Next

Here

的C#修改和翻译

答案 1 :(得分:0)

您需要选择会有颜色变化的文字。

RichTextBox1.Select(RichTextBox1.Text.IndexOf("example"),4)
 RichTextBox1.SelectionColor = Color.Red

将“.com”渲染为红色 或

RichTextBox1.Select(6,4)
  RichTextBox1.SelectionColor = Color.Red

会做同样的事情

答案 2 :(得分:0)

假设你想制作“昏暗”字样。蓝色为VS: -

粘贴:

If RichTextBox1.Text.EndsWith("Dim") Then
        RichTextBox1.Select(RichTextBox1.TextLength - 3, 3)
        RichTextBox1.SelectionColor = Color.Blue
        RichTextBox1.Select(RichTextBox1.TextLength, RichTextBox1.TextLength)
        RichTextBox1.SelectionColor = Color.Black
    End If

将此代码添加到RichTextBox到Text_Changed。