是否可以在多行文本框中使用不同颜色的线条
本文关键字:颜色 文本 是否 | 更新日期: 2023-09-27 18:20:56
是否可以在多行文本框中使用不同颜色的行?
我正在向文本框中添加数据,我想通过颜色为用户澄清不同类型的文本。
如果可能的话,该怎么做?
如果使用RichTextBox
控件,则可以执行此操作。请参阅此处的文档(特别是"备注和示例"部分)。标准TextBox不提供此功能。
标准的Winforms文本框没有这个功能(添加它会很麻烦)。
您可以考虑使用System.Windows.Forms.RichTextBox
作为这方面的替代方案,或者作为许多商业替代方案之一。
因此,根据您想要输出的方式,有一个browser/html控件(基本上是一个框),您可以传递URL或html字符串,根据您正在做的事情,您可能想要使用RickTextBox-它有格式化命令-您可以使用正则表达式或文本的偏移量,然后在具有IF结构的文本框上使用"set color"命令。
我找到了一种不使用RichTextBox 的方法
WrapPanel panel = new WrapPanel();
foreach (....)
{
TextBlock tb = new TextBlock();
if(.....)
tb.Foreground = Brushes.Red;
else
{
tb.Foreground = Brushes.LemonChiffon;
panel.Children.Add(tb);
}
最后是
stackPanel.Children.Add(panel);
}
scrollViewer.Content = stackPanel;
scrollViewer.CanContentScroll = true;
window.Content = scrollViewer;
window.Show();
没有必要使用滚动查看器。但在我的应用程序中,我需要它。然而,像这样它可以生成多色文本。。。还有一个额外的免费。文本的每一部分都可以很容易地拥有一个工具提示