Я пытаюсь создать динамическую коллекцию RichTextBox - где пользователи могут добавить несколько полей - отредактировать их и сохранить в БД.
Случай 1 (один и только)
- Вставка RTF-данных из документа WordPad в RTB-контроль.
Форматирование должно быть таким:
{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang1044 {\ fonttbl {\ f0 \ fnil \ fcharset0 Times New Roman;} {\ f1 \ fnil \ fcharset0 Microsoft Sans Serif;}} \ r \ n \ viewkind4 \ uc1 \ pard \ lang20 \ f0 \ fs40 Wattup? \ lang1044 \ f1 \fs17 \ par \ r \ n} \ r \ n
Сохранение в DataSet (тип данных Байт []), преобразование так:
public Byte[] toByteArray(string str)
{
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
return encoding.GetBytes(str);
}
Загрузка из DataSet - создание новых экземпляров RichText-Box.Преобразование выполняется следующим образом:
public string fromByteArray(Byte[] bytes)
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
return enc.GetString(bytes);
}
Загрузка из DataSet - применение данных, которые я сохранил, к свойству Rtf нового RTB.Свойство Rtf остается таким же, как и должно быть.
Загрузка элемента управления - Форматирование заканчивается следующим образом:
{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \deflang1044 {\ fonttbl {\ f0 \ fnil \ fcharset0 Microsoft Sans Serif;}} \ r \ n \ viewkind4 \ uc1 \ pard \ lang20 \ f0 \ fs17 Wattup? \ lang1044 \ par \ r \ n} \ r \ n
В заключение - вставка RTF в элемент управления работает нормально - но загрузка тех же RTF-данных в «незагруженный» RTB, похоже, не удалась.
Будет ли RichTextBox-control применять какое-либо автоматическое форматирование к RTF, если свойство установлено до визуальной загрузки компонента?
Возможно, есть простое решение этого вопроса. Есть идеи?