C#RichTextBox如何在打印时更改字体前底色?

C#RichTextBox如何在打印时更改字体前底色?,c#,printing,fonts,colors,richtextbox,C#,Printing,Fonts,Colors,Richtextbox,我试图使用RichTextBox(我在这里和那里添加了一些内容,对它进行了一些修改),这样当我打印时,我的白色文本就会变成黑色 更准确地说,我有一个带有PrintDocument、PrintPreviewDialog等的RichTextBox。我可以打印此设置没有问题。唯一的一点是,我的应用程序有一个黑色的主题(主要是在夜间使用),RichTextBox有一个黑色的背景,默认文本是白色的 因此,当我打印(或预览)时,白色文本保持白色,打印时看不到 然后我想知道我需要如何修改我的组件,以便在打印时

我试图使用RichTextBox(我在这里和那里添加了一些内容,对它进行了一些修改),这样当我打印时,我的白色文本就会变成黑色

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

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

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


非常感谢你的指点

将此代码放入打印处理程序

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

那么您正在处理打印事件吗?好的,但这会将所有选定的文本变为黑色,对吗?我的问题是我打印RTF文本,所以我希望保留其余文本的格式和颜色。是的,但在打印完成/打印预览完成后,您可以将其恢复为白色