RichTextBox返回值标记不同颜色

 

在Button按钮下,将脚本的执行结果返回到richtextbox中:

如果返回值包含“failed",则该行标记为红色

 1 .\Scripts\升级_ERP.ps1 | % {
 2 If ($_.contains("failed"))
 3 {
 4  $richtextbox1.selectioncolor = 'red'  #默认选中当前行
 5  $richtextbox1.AppendText($_ + "`r")
 6  $MainForm.Refresh()  #如果不加该语句,则结果会等脚本完全执行完成后才会一起显示
 7 }
 8 else
 9 {
10 
11  $richtextbox1.AppendText($_)
12  $MainForm.Refresh()
13 }
14 
15 }

 

结果:

 

else
{ $richtextbox1.AppendText($_+ "`r") }

结果:

 

richTextBox1.Select(p1, p2) #选则字符串

$form.visible=$true/$false #显示/隐藏窗口

 

在WPF(Windows Presentation Foundation)中,`RichTextBox` 控件是一个用于显示和编辑富文本的控件,它支持文本的格式化。如果你想要改变 `RichTextBox` 中某一行的文本颜色,可以通过编程方式对特定范围的文本应用不同的文本格式(如 `Brush`)。 以下是改变 `RichTextBox` 中某一行文本颜色的一般步骤: 1. 确定你想要改变颜色的文本范围。如果是要改变特定行的颜色,你需要计算出该行文本的起始和结束位置。 2. 创建一个 `TextRange` 对象,它表示你想要改变格式的文本范围。 3. 创建一个 `TextEffect` 对象,它用于设置文本效果,比如颜色。 4. 将 `TextEffect` 应用于 `TextRange`。 5. 使用 `ApplyPropertyValue` 方法将 `TextEffect` 应用于 `RichTextBox`。 例如,以下代码展示了如何改变 `RichTextBox` 中第一行文本的颜色为红色: ```csharp // 假设你的RichTextBox的名称为richTextBox // 创建一个TextRange对象,表示整个文档的范围 TextRange textRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd); // 创建一个新的TextEffect对象,设置文本颜色为红色 TextEffect textEffect = new TextEffect() { Foreground = new SolidColorBrush(Colors.Red) }; // 应用TextEffect到整个范围(即改变整个文档的文本颜色) textRange.ApplyPropertyValue(TextElement.ForegroundProperty, textEffect.Foreground); // 假设我们知道第一行文本的位置 // 获取第一行文本的范围 TextPointer startOfLine = richTextBox.Document.ContentStart.GetPositionAtOffset(0, LogicalDirection.Forward); TextPointer endOfLine = richTextBox.Document.ContentStart.GetPositionAtOffset(richTextBox.Document.LineCount, LogicalDirection.Forward); TextRange lineRange = new TextRange(startOfLine, endOfLine); // 仅对第一行文本应用红色 lineRange.ApplyPropertyValue(TextElement.ForegroundProperty, textEffect.Foreground); ``` 请注意,这个例子中假设了第一行文本的位置是通过获取文档内容开始和结束之间的特定行数来定位的,这在实际情况中可能需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值