【发布时间】:2017-11-20 10:28:45
【问题描述】:
我在 VB.NET 2010 上进行试验,并试图更改特定文本的颜色。
我创建了一个捕获当前窗口标题并在 RichTextBox 中实现的计时器:
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles activetitle.Tick
If strin <> GetActiveWindowTitle() Then
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & vbNewLine & "[---" & GetActiveWindowTitle() & "---]") & vbNewLine & vbNewLine
strin = GetActiveWindowTitle()
End If
End Sub
但是,我尝试更改代码,以便当当前活动标题保存在 RichTextBox 中时,它会以不同的颜色显示:
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles activetitle.Tick
If strin <> GetActiveWindowTitle() Then
RichTextBox1.Text = RichTextBox1.Text & vbNewLine & vbNewLine & "[---" & GetActiveWindowTitle() & "---]" & vbNewLine & vbNewLine
strin = GetActiveWindowTitle()
End If
If RichTextBox1.Text.Contains("[---" & "---]") Then
RichTextBox1.SelectionColor = Color.Red
End If
End Sub
我尝试了许多不同的变化,并在互联网上到处寻找,但没有成功:(
有谁知道如何更改在 RichTextBox 中实现的当前活动窗口标题的颜色?
我想提醒你,我不想改变整个 RichTextBox 的颜色,而只改变当前活动窗口标题的颜色 :)
在此先感谢所有 cmets!
【问题讨论】:
-
您正在设置
SelectionColor属性,但似乎忘记在更改颜色之前设置SelectionStart和SelectionLength。 -
那么我应该如何根据那个来修改这段代码呢?
-
找到要着色的文本在文本框中的位置并将该位置设置为 SelectionStart,然后将 SelectionLength 属性的长度设置为要着色的文本的长度,然后应用选择颜色
-
感谢您的回复 :) 问题是我的 Richtextbox 不断变化,因为它记录了我进行的活动窗口标题,因此位置总是不同的。是否有其他代码可以更改“[---”“---]”的颜色?
-
我还是有点不确定你想涂什么颜色,什么时候涂,因为从我看到的代码中,你只会看到下一个活动窗口的颜色变化,之后没有活动标题。此外,RichTextBox 有一个名为 AppendText() 的方法可能更好地使用它
标签: vb.net