2014-10-31 4 views
0

Я выводя количество строк в RichTextBox как этотRichTextBox набор цветов пользователя в «пользователь: сообщение»

Dim name As String = GetBetween(buf, "@", ".tmi") 
Dim message As String = ": " & buf.ToString().Split(":")(2) & Environment.NewLine 
RichTextBox1.AppendText(name & message) 

Я хочу, чтобы цвет вывода названия каждой строки в текстовом поле, это что я пробовал до сих пор:

RichTextBox2.AppendText(name) 
RichTextBox2.Select(0, name.Length) 
RichTextBox2.SelectionColor = Color.Red 
RichTextBox2.AppendText(message) 
RichTextBox2.Select(name.Length, message.Length) 
RichTextBox2.SelectionColor = Color.Black 

Этот цвет USER красный и MESSAGE черный, но только для первой линии. Я пробовал делать для каждого цикла, но не смог, так как не знаю, как я должен это делать.

Выход: ElementalTree: Hello (ElementalTree красный, когда: сообщение является черным, но только для верхней линии)

Я хотел бы некоторую помощь :)

Edit: Понял работать только с помощью

RichTextBox2.SelectionColor = Color.Red 
RichTextBox2.AppendText(user) 
RichTextBox2.SelectionColor = Color.Black 
RichTextBox2.AppendText(message) 

Thanks Capellan за предложение не использовать Select!

ответ

0

Сделайте свой SelectionColor перед добавлением, а затем не беспокойтесь об использовании Select. Это работает для меня:

Dim lst As List(Of String) = New List(Of String) 
    lst.Add("user1:message1") 
    lst.Add("user2:message2") 
    lst.Add("user3:message3") 

    For i As Int32 = 0 To lst.Count - 1 
     Dim strAry() As String = lst(i).Split({":"}, StringSplitOptions.RemoveEmptyEntries) 
     If Me.RichTextBox1.Text.Length > 0 Then Me.RichTextBox1.SelectedText = Environment.NewLine 
     Me.RichTextBox1.SelectionColor = Color.Red 
     Me.RichTextBox1.AppendText(strAry(0)) 
     Me.RichTextBox1.SelectionColor = Color.Black 
     Me.RichTextBox1.AppendText(": " & strAry(1)) 
    Next 
+0

Это возвращает пустой – ElementalTree

+0

Nvm, исправлено это, не используя select, как вы сказали :) обновленная тема – ElementalTree

Смежные вопросы