是否可以在多行文本框中有不同颜色的行?我添加数据到文本框,我想澄清为用户不同类型的文本的颜色。如何做到这一点,如果可能的话?
lh80um4z1#
如果使用RichTextBox控件,则可以执行此操作。请参阅文档here(特别是查看备注和示例部分)。标准文本框不提供此功能。
RichTextBox
6ie5vjzr2#
标准的Winforms文本框没有这种功能(添加它会很麻烦)。您可以考虑使用System.Windows.Forms.RichTextBox作为此功能的替代品,或者使用许多商业替代品之一。
System.Windows.Forms.RichTextBox
neekobn83#
因此,根据您想要的输出方式,有一个浏览器/html控件(基本上是一个框),您可以传递URL或HTML字符串,这取决于您正在做的事情,您可能希望使用RickTextBox -它具有格式化命令-您可以使用正则表达式,或文本的偏移量,然后在具有IF结构的文本框上使用“设置颜色”命令。
lstz6jyr4#
我找到了一种不使用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();
没有必要使用Scrollviewer。但是在我的应用程序中,我需要它。然而,像这样它可以生成多色文本.和一个额外的免费。文本的每个部分都可以包含一个工具提示
4条答案
按热度按时间lh80um4z1#
如果使用
RichTextBox
控件,则可以执行此操作。请参阅文档here(特别是查看备注和示例部分)。标准文本框不提供此功能。6ie5vjzr2#
标准的Winforms文本框没有这种功能(添加它会很麻烦)。
您可以考虑使用
System.Windows.Forms.RichTextBox
作为此功能的替代品,或者使用许多商业替代品之一。neekobn83#
因此,根据您想要的输出方式,有一个浏览器/html控件(基本上是一个框),您可以传递URL或HTML字符串,这取决于您正在做的事情,您可能希望使用RickTextBox -它具有格式化命令-您可以使用正则表达式,或文本的偏移量,然后在具有IF结构的文本框上使用“设置颜色”命令。
lstz6jyr4#
我找到了一种不使用RichTextBox的方法
最后
没有必要使用Scrollviewer。但是在我的应用程序中,我需要它。然而,像这样它可以生成多色文本.和一个额外的免费。文本的每个部分都可以包含一个工具提示