2011-05-12 23 views
5

şey:Winforms RichTextBox için alternatif çizgi renkleri nasıl bulunur? şöyle

enter image description here

yapabileceğim ?:

foreach line ... 
    line.BackColor = Colors.Gray; 

Lines[i] özelliğini verir sadece bir dize bir çizgi benzeri özellik var mı.

+1

Sadece metni seçin. Ardından .SelectionBackColor (veya karşılık gelen özellik) 'i Gray olarak ayarlayın. – Marlon

+0

Teşekkürler, ancak tüm çizgi arka rengini veya bu satırdaki son karaktere kadar mı ayarlayacağım? Çünkü tüm hattın boş olup olmadığını istiyorum. –

+1

RTF'nin bunu yapabileceğini sanmıyorum. – SLaks

cevap

4

Çok büyük olmayan bir çözüm, her bir satıra fazladan metin eklemek ve ardından tam metni vurgulamak olacaktır. Böyle Yani bir şey:

// Update lines to have extra length past length of window 
string[] linez = new string[richTextBox1.Lines.Length]; 
for (int i = 0; i < richTextBox1.Lines.Length; i++) 
{ 
    linez[i] = richTextBox1.Lines[i] + new string(' ', 1000); 
} 
richTextBox1.Clear(); 
richTextBox1.Lines = linez; 

for(int i = 0; i < richTextBox1.Lines.Length; i++) 
{ 
    int first = richTextBox1.GetFirstCharIndexFromLine(i); 
    richTextBox1.Select(first, richTextBox1.Lines[i].Length); 
    richTextBox1.SelectionBackColor = (i % 2 == 0) ? Color.Red : Color.White; 
    richTextBox1.SelectionColor = (i % 2 == 0) ? Color.Black : Color.Green; 
} 
richTextBox1.Select(0,0); 

Bu şuna benzer: Bir noktalı virgül ulaşana kadar

RichTextBox with colored lines http://i53.tinypic.com/nf4pxe.jpg