无论如何,我似乎无法找到答案。但我的问题是;
在visual basic中我想制作一个叫做问题面板的东西并测试它我正在进行调试。它使用进度条和计时器。这是目前为止的一些代码。
ProgressBar1.Increment(1)
If ProgressBar1.Value = 1 Then
RichTextBox1.Text = "A developer debug has been executed, please wait"
End If
If ProgressBar1.Value = 3 Then
RichTextBox1.SelectionStart = RichTextBox1.Text.Length + 1
RichTextBox1.Text &= "."
End If
If ProgressBar1.Value = 5 Then
RichTextBox1.SelectionStart = RichTextBox1.Text.Length + 1
RichTextBox1.Text &= "."
End If
If ProgressBar1.Value = 7 Then
RichTextBox1.SelectionStart = RichTextBox1.Text.Length + 1
RichTextBox1.Text &= "."
End If
If ProgressBar1.Value = 10 Then
RichTextBox1.Text &= Environment.NewLine & "Testing Warnings"
RichTextBox1.SelectionColor = Color.Yellow
End If
If ProgressBar1.Value = 15 Then
RichTextBox1.SelectionColor = Color.Yellow
RichTextBox1.Text += Environment.NewLine + "Warning"
End If
基本上它只是创建一条线,添加一条线并继续键入文本。但我无法添加新行。打印'警告'并将该文本更改为黄色。但是使用互联网上的所有代码它会保持白色吗?
如果有人可以提供帮助,我们将不胜感激。
如果不清楚,请让我总结一下:
*打印文本并将所有内容保持为白色。
*打印一个新行,其中包含RichTextBox中的所有内容。
*文本会说,关键,警告,信息等
*它需要更改文本的颜色,但不能更改所有其他打印的文本颜色。
提前致谢
答案 0 :(得分:0)
这是一个可以帮助你的子程序:
Private Sub AppendTextWithColor(rich_text_box As RichTextBox, color As Color, text As String)
Dim length_before = rich_text_box.TextLength
rich_text_box.AppendText(text)
Dim length_after = rich_text_box.TextLength
rich_text_box.SelectionStart = length_before
rich_text_box.SelectionLength = length_after - length_before
rich_text_box.SelectionColor = color
End Sub
它允许您使用特定颜色将一些文本附加到RichTextBox。
你可以像这样使用它:
AppendTextWithColor(RichTextBox1, Color.Yellow, Environment.NewLine + "Warning")
它通过在追加新文本之前和之后记录RichTextBox文本的长度来工作。然后,它会根据记录的长度设置SelectionStart
和SelectionLength
,以选择附加的文本。然后,它使用SelectionColor
属性更改所选文本的颜色。