C#更改文本框中一个字符的颜色

时间:2013-11-20 17:07:24

标签: c# .net wpf

C# - WPF: 如何更改文本框中只有一个字符的颜色? 例如:Word Hello,H的颜色变为红色

2 个答案:

答案 0 :(得分:4)

您不能使用文本框执行此操作,但可以使用richtextbox: WPF RichTextBox Tutorial

var textRange = MyRichTextBox.Selection;
var start = MyRichTextBox.Document.ContentStart;
var startPos = start.GetPositionAtOffset(0);
var endPos = start.GetPositionAtOffset(1);
textRange.Select(startPos, endPos);
textRange.ApplyPropertyValue(TextElement.ForegroundProperty, new SolidColorBrush(Colors.Blue));

答案 1 :(得分:3)

您可以使用如下所示的richtexbox:您甚至可以更改特定字符的背景颜色

richTextBox1.SelectionStart = characterStartIndex;
richTextBox1.SelectionLength = 1;
richTextBox1.SelectionColor = Color.Red;
richTextBox1.SelectionBackColor = Color.Yellow;