winform中有什么代码高亮的组件?该怎么处理
winform中有什么代码高亮的组件?
就是一个文本框,我输入c#的代码,然后一点按钮,代码被高亮显示,即关键字、类型名、字符串值等用不同颜色显示。
有没有相应的组件,并附上下载地址。
------解决思路----------------------
------解决思路----------------------
循环赋值效率其实并不低,但是每次赋值颜色之后它都会刷新,导致效率低
如果你需要改变颜色的地方太多,那么你最好一开始让布局挂起,等都赋值之后才恢复布局逻辑,让它只刷新一次
至于匹配文字,怎么样也都要从头到尾的去匹配的,不管你是用IndexOf还是正则,这效率都高不到哪里去
------解决思路----------------------
ICSharpCode.TextEditor.dll
HighlightingEditor.dll
这两个就是了
http://www.icsharpcode.net/ 这里面原码就有。
------解决思路----------------------
你参考一下Designer.cs文件里的代码就知道了
窗体加载的时候,也是先挂起布局逻辑,一次性显示出来,而不是一个控件一个控件的刷新出来的
就是一个文本框,我输入c#的代码,然后一点按钮,代码被高亮显示,即关键字、类型名、字符串值等用不同颜色显示。
有没有相应的组件,并附上下载地址。
------解决思路----------------------
private void ChangeBadColor()//BAD字样修改为红色
{
richTextBox1.SelectAll();
richTextBox1.SelectionColor = Color.Black;
int BadIndex = 0;
while (BadIndex < richTextBox1.Text.Length && BadIndex > -1)
{
BadIndex = richTextBox1.Text.IndexOf("Bad", BadIndex + 1);
if (BadIndex > 0)
{
richTextBox1.Select(BadIndex, 3);
richTextBox1.SelectionColor = Color.Red;
}
}
richTextBox1.SelectionLength = 0;
richTextBox1.SelectionStart = 0;
}
------解决思路----------------------
循环赋值效率其实并不低,但是每次赋值颜色之后它都会刷新,导致效率低
如果你需要改变颜色的地方太多,那么你最好一开始让布局挂起,等都赋值之后才恢复布局逻辑,让它只刷新一次
至于匹配文字,怎么样也都要从头到尾的去匹配的,不管你是用IndexOf还是正则,这效率都高不到哪里去
------解决思路----------------------
ICSharpCode.TextEditor.dll
HighlightingEditor.dll
这两个就是了
http://www.icsharpcode.net/ 这里面原码就有。
------解决思路----------------------
你参考一下Designer.cs文件里的代码就知道了
窗体加载的时候,也是先挂起布局逻辑,一次性显示出来,而不是一个控件一个控件的刷新出来的