Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменения шрифта в RichTextBox без потери форматир 
:(
    Опции темы
wonderfulll
  Дата 9.2.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.12.2006
Где: Литва, Вильнюс

Репутация: нет
Всего: 2



Есть отформатированный .rtf файл(болды, италики, подчёркивания). Как можно поменять шрифт всего документа без потери форматирования. 
Параметр Font не подходит, так как у него обязательное поле FontStyle  в котором увы стиля None нету.
PM MAIL WWW Skype   Вверх
Azzdorf
  Дата 9.2.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 29.3.2007

Репутация: нет
Всего: нет



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

Ответ - нет

Другой вариант - считать форматирование каждого симвоала в массив данных и применить по новому после применения нового шрифта 
--------------------
Иногда шаг вперед - это результат хорошего пинка под зад.
PM MAIL   Вверх
wonderfulll
Дата 10.2.2008, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.12.2006
Где: Литва, Вильнюс

Репутация: нет
Всего: 2



такой способ был на примете, но какой-то он "деревянный", неужели тот же Ворд так работает?

п.с.: пока другого не найду, буду использовать этот, Azzdorf спасибо.

вот код:
Код

        //этот код был найден тут http://channel9.msdn.com/ShowPost.aspx?PostID=142541#142541
        private void _set_font_style(RichTextBox rtb, FontStyle style, string font, float size)
        {
            int selectionStart = rtb.SelectionStart;
            int selectionLength = rtb.SelectionLength;
            int selectionEnd = selectionStart + selectionLength;

            for (int x = selectionStart; x < selectionEnd; ++x)
            {
                // Set temporary selection
                rtb.Select(x, 1);
                // Toggle font style of the selection
                rtb.SelectionFont = new Font(font, size, rtb.SelectionFont.Style ^ style);
            }

            // Restore the original selection
            rtb.Select(selectionStart, selectionLength);
        }


Это сообщение отредактировал(а) wonderfulll - 10.2.2008, 10:48
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.