C # RichTextBox, как изменить шрифт ForegroundColor при печати?

1

Я пытаюсь использовать RichTextBox (что я немного изменил с некоторыми дополнениями, найденными здесь и там), так что когда я печатаю, мой белый текст становится черным.

Чтобы быть более точным, у меня есть RichTextBox с PrintDocument, PrintPreviewDialog и т.д. Я могу печатать без проблем с этой настройкой. Единственное, что мое приложение имеет темную тему (оно используется в основном ночью), а RichTextBox имеет черный фон, а текст по умолчанию - белый.

Поэтому, когда я печатаю (или просматриваю), белый текст остается белым и его нельзя увидеть при печати...

Затем я хотел бы знать, как мне нужно будет изменить мои компоненты, чтобы изменить цвет шрифта от белого до черного при печати. Меня не волнуют другие цвета (они - предполагаемый выбор пользователя), которые все равно будут напечатаны.

Большое спасибо за ваши указатели на это!

  • 0
    так вы обрабатываете событие печати?
Теги:
printing
fonts
colors
richtextbox

1 ответ

0
Лучший ответ

Поместите этот код в обработчик печати,

var selection = myRichTextBox.Selection;
if (!selection.IsEmpty)
richTextBox1.SelectionColor = Color.Black;
  • 0
    Хорошо, но это сделает весь выделенный текст черным, верно? Моя проблема в том, что я печатаю текст RTF, поэтому я хотел бы сохранить форматирование и раскраску остального текста.
  • 0
    да, но после того, как печать завершена / предварительный просмотр завершен, вы можете включить его обратно в белый цвет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню