【问题标题】:Print string with differently colored characters in a listview/textbox control在列表视图/文本框控件中打印具有不同颜色字符的字符串
【发布时间】:2012-02-03 21:50:37
【问题描述】:

我想在列表视图控件或包含一些不同颜色的字符的多行文本框(或富文本框)字符串中打印算法(C#、.NET 4.0)的输出。例如:

ABCAAAGGGJHHJK (whole string black)
     AHGGJI (H and I - red)
    BAJMGC  (B -green, J,M,C-red)

我知道可以更改整个控件的文本颜色和字体,但是可以这样生成吗?你有什么建议吗?

【问题讨论】:

    标签: c# .net winforms textbox richtextbox


    【解决方案1】:

    你不能用ListBox 轻松做到这一点,除非你愿意手动绘制项目(这很痛苦)。使用TextBox 可能会更难。但是,您可以使用 RichTextBox 来完成。

    richTextBox.SelectionColor = Color.Black;
    richTextBox.AppendText("ABCAAAGGGJHHJK\n");
    richTextBox.AppendText("A");
    richTextBox.SelectionColor = Color.Red;
    richTextBox.AppendText("H");
    richTextBox.SelectionColor = Color.Black;
    richTextBox.AppendText("GGJ");
    richTextBox.SelectionColor = Color.Red;
    richTextBox.AppendText("I");
    // and so on...
    

    【讨论】:

    • 我需要逐个字符地创建字符串。我找不到任何好的例子,所以我认为这是不可能的..
    • 基本上我需要在打印之前为每个“子字符串”设置格式,据我所知,该格式适用于要在 RichTextbOX 中打印的整个字符串
    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2019-07-13
    相关资源
    最近更新 更多