2014-09-05 44 views
1

我试图使用RichTextBox(我已经修改了一些在这里和那里发现的一些补充),以便当我打印时,我的白色文本变成黑色。C#RichTextBox如何在打印时更改字体ForegroundColor?

更确切地说,我有一个带有PrintDocument,PrintPreviewDialog等的RichTextBox。我可以在没有问题的情况下打印此设置。唯一的问题是我的应用程序有一个黑暗的主题(它主要在晚上使用),RichTextBox有黑色背景,默认文本是白色。

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

那么我想知道我怎么会需要修改我的组件打印时将字体颜色从白色更改为黑色。我不关心其他颜色(它们是用户的假定选择),无论如何它都会打印出来。

非常感谢您的指点!

+0

所以你处理打印活动? – 2014-09-05 10:23:27

回答

0

将这个代码在您的打印处理,

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

好的,但是这会将所有选定的文本都变成黑色吗?我的问题是我打印RTF文本,所以我想继续格式化和着色其他文本。 – 2014-09-08 19:40:32

+0

是的,但打印完成后/打印预览完成后,您可以将其重新变为白色 – 2014-09-08 19:45:23