2009-02-23 17 views
9

Jestem nowy w Windows Forms. Używam VS 2008, C#, aby napisać RichTextBox. Chcę móc pokolorować każdą linię innym kolorem, gdy piszę do RichTextBox. Czy ktoś może wskazać mi próbki. DziękiWybrane linie kolorów RichTextBox

foreach (string file in myfiles) 
{ 
    // As I process my files 
    // richTextBox1.Text += "My processing results"; 
    if(file == "somefileName") 
    { 
    // Color above entered line or enter new colored line 
    } 

} 

Odpowiedz

13

Set SelectionColor zanim dołączy, coś jak:

int line = 0; 
    foreach (string file in myfiles) 
    { 
     // Whatever method you want to choose a color, here 
     // I'm just alternating between red and blue 
     richTextBox1.SelectionColor = 
      line % 2 == 0 ? Color.Red : Color.Blue; 

     // AppendText is better than rtb.Text += ... 
     richTextBox1.AppendText(file + "\r\n"); 
     line++; 
    } 
+0

+1. Użytkownicy VB.Net powinni pamiętać, że \ r \ n ucieka w C#. Napisz .AppendText (file & vbCrLf) w VB – smirkingman

+0

Jak wspomniano w komentarzu do kodu, użycie + = wydaje się resetować cały kolor tekstu, który był już ustawiony w polu, więc metoda AppendText jest tym, co udało się. – kad81