【问题标题】:C# RichTextBox how to change font ForegroundColor upon printing?C# RichTextBox 如何在打印时更改字体 ForegroundColor?
【发布时间】:2014-10-30 06:25:19
【问题描述】:

我正在尝试使用 RichTextBox(我已经对其进行了一些修改,并在此处和那里找到了一些添加内容),以便在打印时,我的白色文本变为黑色。

更准确地说,我有一个带有 PrintDocument、PrintPreviewDialog 等的 RichTextBox。我可以使用此设置毫无问题地进行打印。唯一的问题是我的应用程序有一个深色主题(主要是在夜间使用),而 RichTextBox 有黑色背景,默认文本是白色。

因此,当我打印(或预览)时,白色文本保持白色,打印时看不到...

然后我想知道我需要如何修改我的组件以在打印时将字体颜色从白色更改为黑色。我不关心其他颜色(它们是用户的假设选择)无论如何都会打印得很好。

非常感谢您对此的指点!

【问题讨论】:

  • 那么你在处理打印事件吗?

标签: c# printing fonts colors richtextbox


【解决方案1】:

将此代码放入您的打印处理程序中,

var selection = myRichTextBox.Selection;
if (!selection.IsEmpty)
richTextBox1.SelectionColor = Color.Black;

【讨论】:

  • 好的,但这会将所有选定的文本变为黑色,对吧?我的问题是我打印了 RTF 文本,所以我想保留其余文本的格式和颜色。
  • 是的,但是在打印完成/打印预览完成后,您可以将其转回白色
猜你喜欢
  • 2012-08-28
  • 2011-11-29
  • 2012-07-28
  • 2021-09-09
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多