Simon Boutin Ответов: 0

Сохранение символов unicode в richtextbox в C# при вставке из MS word


Я использую управления richtextbox на C# (.Нетто), где мне нужно заменить каждый "*" и "+" на другие символы Unicode (\u2605 и \u271A). Он работает нормально, но проблема в том, что когда я копирую контент из MS Word и вставляю его в RichTextBox, мои два символа Unicode заменяются на "квадрат" ([]), причем не только для вставленного контента, но и для всего содержимого моего RichTextBox, даже если я перезагружаю контент из базы данных. Я должен закрыть и повторно выполнить свое приложение, чтобы снова увидеть свои символы Unicode.
Знаете ли вы, как я мог бы исправить свою проблему, используя соответствующий метод вставки или способ сбросить формат моего RichTextBox ?

Что я уже пробовал:

PasteAction недействительным(объект отправителя, EventArgs в электронной)
{
IDataObject data = буфер обмена.GetDataObject();

если (данные.GetDataPresent(DataFormats. Rtf))
{
выбранные = (строковые) данные.GetData(DataFormats. Rtf);
}
else if (selected != String.Пустой)
{
Буфер обмена.SetData (DataFormats.Rtf, выбранный);
}

ричтекстагенда.SelectedRtf = выбранный;
}

Jochen Arndt

Не знаю, поможет ли это, но вы можете попробовать использовать

RichTextBox.Paste(DataFormats.Rtf);

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

0 Ответов