2009-02-23 12 views
9

Je suis nouveau à Windows Forms. J'utilise VS 2008, C# pour écrire un RichTextBox. Je souhaite pouvoir colorier chaque ligne avec une couleur différente lorsque j'écris dans RichTextBox. Quelqu'un peut-il me diriger vers des échantillons. MerciRichTextBox couleur lignes sélectionnées

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 
    } 

} 

Répondre

13

Set SelectionColor avant d'ajouter, de quelque chose comme:

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. Les utilisateurs de VB.Net doivent se rappeler que \ r \ n s'échappe en C#. Ecrire .AppendText (fichier & vbCrLf) dans VB – smirkingman

+0

Comme mentionné dans le commentaire de code, l'utilisation de + = semble réinitialiser toute la couleur du texte qui était déjà définie dans la boîte, donc la méthode AppendText est ce qui a fait l'affaire. – kad81

Questions connexes