Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 4 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 04.12.2008
в общем небольшая текстовая игрушка в вин форме, не получается сделать следующее:
если получается крит ( как пример переменная больше пяти) то строчку закрасить красным цветом.
не могу сообразить как получить адрес это самой строчки ( последней строчки , или последней строчки в ртб где чтото есть?)
зы. ртб - richtextbox

зызы. идея - лог скрин, в духе фалаута


Код:
           s = "U hit him for " + playHitTMP.ToString();           
            //хочу сделать крит красным цветом
            if (playHitTMP > 5)
            {
               
                txtLog.SelectionColor = Color.Red;
                // вот здесь идет выбор "точки отсчета"(начало , длина)
                txtLog.Select(15,10);// = "\n" + s;
                //txtLog.SelectionColor = Color.Black;
            }
            txtLog.Text += "\n" + s;



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Код:
            s = "\nU hit him for " + playHitTMP.ToString();
            txtLog.Append(s);
       
            if (playHitTMP > 5)
            {                 
                txtLog.Select(txtLog.Text.Length - playHitTMP.ToString().Length, playHitTMP.ToString().Length);
                txtLog.SelectionColor = Color.Red;
            }


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Невнимательно прочитал условие, вышепривеленный код подсвечивает красным только число попаданий, для подсветки всей строки:

Код:
            s = "\nU hit him for " + playHitTMP.ToString();
            txtLog.Append(s);
       
            if (playHitTMP > 5)
            {                 
                txtLog.Select(txtLog.Text.Length - s.Length, s.Length);
                txtLog.SelectionColor = Color.Red;
            }


Для более продвинутого управления нужно использовать класс StringBuilder и собирать строку по спецификации формата rtf и ввести интероп с API Win32 и нативными библиотеками.


 

Junior
Статус: Не в сети
Регистрация: 04.12.2008
Класс! Спасибо!
Только еще добавил после
txtLog.Append(s);
две строчки :
txtLog.Select(txtLog.Text.Length - s.Length, s.Length);
txtLog.SelectionColor = Color.Black;
Иначе после прохождения условия текст становится красным.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 4 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan