我有一个rich textbox
用户可以从列表中选择关键字的地方,它们将以不同的颜色插入。用户也可以输入他们自己的文本。该程序将用于构建 SQL 片段。
例如,用户输入的文本将为黑色,该列表中的关键字将为蓝色。
我见过几个附加不同颜色单词的例子,但没有插入不同颜色单词的例子。
以下是我尝试过的
public void InsertText(Color color, string text)
{
var startposition = _richTextBox.SelectionStart;
var endposition = startposition + text.Length;
_richTextBox.Text = _richTextBox.Text.Insert(startposition, text);
_richTextBox.Select(startposition, endposition - startposition);
_richTextBox.SelectionColor = color;
_richTextBox.Select(endposition, 0);
}
如果将文本插入除末尾之外的任何位置,则此代码的问题,该段落的其余部分不会保留以前的颜色。有没有办法插入不同颜色的文本,同时不干扰其余文本的格式?