Сбросить RTF в RichTextBox?
Я пытаюсь "сбросить" форматирование в моем RichTextBox (WinForms, а не WPF). Я ранее использовал
richTextBox.Text = richTextBox.Text;
Однако это, кажется, внезапно подвело меня. Теперь независимо от того, что я установилrichTextBox.Text
до, он сохраняет часть форматирования RTF.
Я пытался
richTextBox.Rtf = richTextBox.Text;
Однако это жалуется на неправильный формат. Должен быть лучший способ сделать это. (Конечно, выбор всего объекта, затем сброс заднего цвета, основного цвета и шрифта работает, но это приводит к мерцанию, когда весь объект выбирается, а затем отменяется выбор, плюс он медленнее и требует намного больше кода.) У кого-нибудь есть идеи?
Редактировать: Я получил это на работу:
string tempTxt = richTextBox.Text;
richTextBox.Clear();
richTextBox.Text = tempTxt;
Но должен быть лучший способ, верно?
Изменить 2: Чтобы было ясно, я хочу удалить все форматирование, сохранив текст. Похоже, что код в первом редактировании будет доставлен, если у кого-то еще нет более эффективного / лучшего способа кодирования.
Изменить 3:
richTextBox.Text = richTextBox.Text.ToString();
кажется, не работает, потому что он все еще не очищает все форматирование. Причина, по которой мне не нравится метод, описанный выше в первом редакторе, заключается в том, что он делает текстовое поле "flash" quot; когда он очищается, то снова вводит текст. Кажется, что должен быть просто метод richTextBox.ResetFormatting () или какой-то способ доступа к той же функциональности, поскольку метод Clear () явно (без каламбура) выполняет своего рода сброс форматирования в дополнение к простой очистке всего текста ,
Подвести итоги:
Is there a way (and if so, what is it) to reset the formatting of the text in a RichTextBox without clearing the text as in the example above (because that produces undesirable flashing)?