是否可以在多行文本框中使用不同颜色的线条

本文关键字:颜色 文本 是否 | 更新日期: 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();

没有必要使用滚动查看器。但在我的应用程序中,我需要它。然而,像这样它可以生成多色文本。。。还有一个额外的免费。文本的每一部分都可以很容易地拥有一个工具提示