我用C#创建了一个自定义文本编辑器。现在,我想通过着色输入的最后一个字母/数字来添加语法高亮功能,以便随机绘制将要使用的颜色。我怎么能这样做呢?我尝试了一些替代方法,但都没有奏效。谢谢你的推荐! (注意:我已经编写了2个月的代码。对于任何错误抱歉!)
最新示例:
private void userTB_KeyPress(object sender, KeyPressEventArgs e)
{
Random rnd = new Random();
Color randomColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
userTB.SelectionColor = randomColor;
}
答案 0 :(得分:1)
尝试在变量声明前添加“static”。
static Random rnd = new Random();
static int r1;
static int r2;
static int r3;
r1 = rnd.Next(255);
r2 = rnd.Next(255);
r3 = rnd.Next(255);
Color randomColor = Color.FromArgb(r1, r2, r3);
您的代码被按钮事件触发,因此每次单击按钮时都会重新创建Random变量,因此每次都在相同的起始点开始随机序列。
===== 灰?嗯。试试这个......
{{1}}
并查看调试器中的r1,r2和r3值。
答案 1 :(得分:0)
。在我的观点上,着色将通过背后的代码发生,因为在背景中......你将需要专门阅读每个单词的Classe并识别每个单词所做的...
。您的文本编辑器是关于什么?