powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / RichTextBox и его форматирование
1 сообщений из 1, страница 1 из 1
RichTextBox и его форматирование
    #38268125
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!
След функция должна добавлять текст (напр. жирный заголовок с двоеточием и текст все в одной строке) в RichtextBox и форматировать его (шрифт и цвет).
Почему то срабатывает только первое форматирование. При этом выделение проходит нормально (проверил через SelectedText).
Возможно нельзя так переопределять SelectionFont и SelectionColor ?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
        private void TextAddDef(ref ctrlRichTextBox rtxtBox, Color loTitelColor, Color loTextColor, string lsTitel = "", string lsText = "",
            Font loFontTitel = null, Font loFontText = null)
        {
            Font altFont = rtxtBox.SelectionFont;
            Color altColor = rtxtBox.SelectionColor;
            string lsDelim = "";

            if (lsText.Trim() == "")
            {
                rtxtBox.Text += "\r\n";
                return;
            }
            if (lsTitel.Trim() != "")
                lsDelim = ": ";

            rtxtBox.DeselectAll();
            rtxtBox.Text += lsTitel + lsDelim;  // Добавляем заголовок
            rtxtBox.Find(lsTitel + lsDelim, RichTextBoxFinds.MatchCase); // выделяем его
            rtxtBox.SelectionFont =  loFontTitel ?? new Font("Arial", 10, FontStyle.Bold);  // Устанавливает шрифт
            rtxtBox.SelectionColor = loTitelColor; // и цвет
            rtxtBox.DeselectAll();

            rtxtBox.Text += lsText; // в ту же строку добавляем текст
            rtxtBox.Find(lsDelim + lsText, RichTextBoxFinds.MatchCase); //выделяем его
            rtxtBox.SelectionFont = loFontText ?? new Font("Arial", 10, FontStyle.Underline); //устанавливает шрифт
            rtxtBox.SelectionColor = loTextColor; // и цвет
            rtxtBox.DeselectAll();

            rtxtBox.SelectionFont = altFont; // возвращаем параметры в исходное состояние
            rtxtBox.SelectionColor = altColor;

            rtxtBox.Text += "\r\n";
        }


Что делаю не так?

Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / RichTextBox и его форматирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]