我想在一个RichTextBox中给每个相同的单词着色。我可以在一行上做,但不能在多行上做。例如,欢迎“用户”......
我希望单词user
在它找到的每一行中都是一种精确的颜色。
这是我目前的想法
RichTextBox1.Text = "Welcome "
RichTextBox1.Select(RichTextBox1.TextLength, 0)
RichTextBox1.SelectionColor = My.Settings.color
RichTextBox1.AppendText(My.Settings.username)
RichTextBox1.SelectionColor = Color.Black
RichTextBox1.AppendText(" ........." + vbCrLf)
它在form.Load
上;我尝试使用richtextbox.TextChange
事件,但它只对最后一个user
字着色,其他字保持不变。
4条答案
按热度按时间ecfdbz9o1#
这是一个简单的类,它为RichTextBox和TextBox控件启用文本的多个Selections和Highlight。
您可以将这个类别的多个执行严修用于不同的控件。
您可以将“要选择/突出显示的单词”添加到列表中,并指定用于选择和/或突出显示文本的颜色。
以下是类操作的可视结果:
在此示例中,单词列表使用以下内容填充:
在视觉化范例中,Class是以下列方式设定:
这是用于生成Selections和HighLights的类:
kokeuurv2#
使用模块,您可以这样做:
或者,你也可以使用这个,因为它可以让你同时突出显示多个单词:
Source希望这对你有帮助:)
0sgqnhkj3#
这是可行的
xam8gpfp4#