如何有交替行的色彩,为的WinForms RichTextBox的? [英] How to have alternating line colors for a Winforms RichTextBox?

查看:206
本文介绍了如何有交替行的色彩,为的WinForms RichTextBox的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

东西看起来是这样的:

是否有条纹状的财产,我可以这样做:?

Is there a line-like property where I could do?:

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

行[I] 财产申报只是一个字符串。

Lines[i] property returns just a string.

推荐答案

一个没有那么大的解决办法是添加额外的文本到每个行,然后突出显示全文。因此,像这样:

A not so great solution would be to append extra text onto each line and then highlight the full text. So something like this:

// 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);

这是这样的:

It would look like this:

这篇关于如何有交替行的色彩,为的WinForms RichTextBox的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆