我正在制作一个小工具。下面的代码在大型 RichTextBox 更新时触发。
我如何修改此代码以突出显示#703919
,Color.ForestGreen
而不仅仅是#
?
我想保持代码尽可能简洁。
private void CSS_TextChanged(object sender, EventArgs e)
{
CSS.Select(0, CSS.TextLength);
CSS.SelectionColor = CSS.ForeColor;
string[] Keywords = {"background", "filter", ":", "#"};
Color[] Colours = {Color.DarkBlue, Color.DarkBlue, Color.Magenta, Color.ForestGreen};
for(int i = 0; i < Keywords.Length; i++)
{
int Pointer = 0;
int Index = 0;
while(true)
{
Index = CSS.Text.IndexOf(Keywords[i], Pointer);
if(Index == -1)
break;
CSS.Select(Index, Keywords[i].Length);
CSS.SelectionColor = Colours[i];
Pointer = Index + Keywords[i].Length;
}
}
}