我正在開發一個使用C#.Net的Windows窗體應用程序。在我的部分代碼中,我定義了一個函數來記錄系統事件。下面是該函數的主體:RichTextBox每行不同的背色
richTextBoxLog.Text += "-";
richTextBoxLog.Text += some logs and strings ...;
richTextBoxLog.Text += "." + new string(' ', 1000) + Environment.NewLine;
richTextBoxLog.Select(richTextBoxLog.GetFirstCharIndexFromLine(logCounter), richTextBoxLog.Lines[logCounter].Length);
richTextBoxLog.SelectionBackColor = (logCounter % 2 == 0) ? Color.LightBlue: Color.LightGray;
logCounter++;
richTextBoxLog.ScrollToCaret();
的logCounter
的初始值是零(第一事件的行是指)。對於奇數行,後面的顏色應該是Color.LightGray
,偶數行應該是Color.LightBlue
。但是,正如您在下面看到的,它不會正確更改背景顏色。
每次調用該函數(添加新的文本行)的richTextBoxLog.Select
的區域根據新生產線的開始和結束的索引更新。但是當一個偶數行被添加到文本框時,所有前面的行的背景顏色變成藍色(甚至是彩色)。
我很感謝你的幫助。