如何替代更改 RTB 文本的背景颜色

本文关键字:背景 颜色 文本 RTB 何替代 | 更新日期: 2023-09-27 18:33:34

我需要在RTB中更改文本背景颜色。RTB 是在循环中创建的,用于来自数据库的消息数。
我实现了一个逻辑来实现它,但感觉逻辑很简单。
那么,您能否给出实现相同想法或我的可以吗?

法典:

foreach (DataSet.NoteRow note in _ds.Note)
        {
            CreateNotes(note);
        }
private void CreateNotes(string note)
{
//txt : Rich Text Box dynamically created for each note
//test : Selected text in 'note'
int index = txt.Text.ToUpper().IndexOf(test.ToUpper());
txt.Select(index, test.Length);
txt.SelectionFont = new Font(txt.Font.Name, txt.Font.Size, txt.Font.Style^ FontStyle.Bold);
//x global variable initialised as 1
if(x % 2 == 1)
txt.SelectionBackColor = System.Drawing.Color.Gray;
x++;  }

场景:
如果 Notes 有 5 条消息,则备用消息应具有灰色背景色。

如何替代更改 RTB 文本的背景颜色

试试这个

private void CreateNotes(string note)
{
//txt : Rich Text Box dynamically created for each note
//test : Selected text in 'note'
int index = txt.Text.ToUpper().IndexOf(test.ToUpper());
txt.Select(index, test.Length);
txt.SelectionFont = new Font(txt.Font.Name, txt.Font.Size, txt.Font.Style^ FontStyle.Bold);
 Random rnd = new Random();
//x global variable initialised as 1
if(x % 2 == 1)
txt.SelectionBackColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
x++;  }