2016-11-19 3 views
0

У меня есть этот фрагмент кода:RichTextBox цвет текста определенной строки

if (newLocation.MonsterLivingHere != null) 
{ 
    rtbMessages.Text += "You see a " + newLocation.MonsterLivingHere.Name + Environment.NewLine; 
} 

и я хочу «вы видите (Монстров Name)» быть красным.

У меня есть несколько мест, я хочу, чтобы одна строка была красной, но у меня есть много другого текста в коробке. Я не хочу быть красным. Например, этот кусок кода должен быть красным, а также:

if(_player.CurrentHitPoints <= 0) 
{ 
    //Display a dead message 
    rtbMessages.Text = " " + Environment.NewLine; 
    rtbMessages.Text += "The " + _currentMonster.Name + " killed you." + Environment.NewLine; 
    //Moves the player to "Home" 
    MoveTo(World.LocationByID(World.LOCATION_ID_HOME)); 
} 

Как я могу сделать только часть текста красного цвета?

+0

Я не вижу, как это дубликат этого вопроса 'http://stackoverflow.com/questions/39085397/highlighting-a-line-in-a-richtextbox1-line-number-a- переменная', потому что вопрос есть другой. Если я ошибаюсь, попробуйте объяснить ответ другим способом, потому что я не понимаю ответа, приведенного на странице http://stackoverflow.com/questions/39085397/highlighting-a-line-in-a-richtextbox1-line- number-a-variable' – TheGejr

ответ

0

Установите цвет выделения, а затем следующая вставка будет в том цвете, например.

Color current = rtbMessages.SelectionColor; 

rtbMessages.SelectionColor = Color.Red; 
rtbMessages.AppendText("I am red" + Environment.NewLine); 

rtbMessages.SelectionColor = Color.Blue; 
rtbMessages.AppendText("I am blue" + Environment.NewLine); 

rtbMessages.SelectionColor = current; 
rtbMessages.AppendText("I am whatever colour was set before red"); 
+0

Я написал это сейчас, но ни «SelectionColor», ни «AppendText» не является синим цветом, мне не хватает класса или refrence? И текст не меняет цвета – TheGejr