首页 > 解决方案 > 如何使用文本格式打印 RichTextBox 文本?

问题描述

我想rich text box用两者打印数据fore color & back color。对我来说,这非常困难。我使用以下代码作为字体,但更改颜色很困难。任何人请帮助我。

 e.Graphics.DrawString(richTextBox1.Text, richTextBox1.Font, Brushes.Black, 100,100);

标签: c#.net

解决方案


访问为 RichTextBox 字符串的不同部分着色 这已经回答

public static class RichTextBoxExtensions
{
    public static void AppendText(this RichTextBox box, string text, Color color)
    {
        box.SelectionStart = box.TextLength;
        box.SelectionLength = 0;

        box.SelectionColor = color;
        box.AppendText(text);
        box.SelectionColor = box.ForeColor;
    }
}

像这样使用

var userid = "USER0001";
var message = "Access denied";
var box = new RichTextBox
              {
                  Dock = DockStyle.Fill,
                  Font = new Font("Courier New", 10)
              };

box.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.Red);
box.AppendText(" ");
box.AppendText(userid, Color.Green);
box.AppendText(": ");
box.AppendText(message, Color.Blue);
box.AppendText(Environment.NewLine);

new Form {Controls = {box}}.ShowDialog();

也参考这个https://www.c-sharpcorner.com/article/part-i-simple-color-syntax-code-editor-for-php-written-in-c/


推荐阅读