C# 最佳实践:创建脚本编辑器

C# 最佳实践:创建脚本编辑器,c#,.net,components,custom-controls,rtf,C#,.net,Components,Custom Controls,Rtf,我已经开发了自己的脚本语言,用一些独特的逻辑查询我的数据源,我想把这个脚本提供给我的用户,并想在文本框中显示它,他们可以在文本框中键入语法,并通过他们键入的文本的颜色接收反馈,因此,例如,我想要与.net类似的颜色代码,例如,我想要蓝色关键词、绿色评论等 我想问的是,是否有一些方法可以在不使用第三方组件的情况下对我的文本进行颜色编码,特别是在每次使用付费的情况下,但一般来说,我更喜欢使用.net控件。您可以使用RichTextBox为不同的颜色进行颜色编码 自定义文本框的paint()事件?Re

我已经开发了自己的脚本语言,用一些独特的逻辑查询我的数据源,我想把这个脚本提供给我的用户,并想在文本框中显示它,他们可以在文本框中键入语法,并通过他们键入的文本的颜色接收反馈,因此,例如,我想要与.net类似的颜色代码,例如,我想要蓝色关键词、绿色评论等


我想问的是,是否有一些方法可以在不使用第三方组件的情况下对我的文本进行颜色编码,特别是在每次使用付费的情况下,但一般来说,我更喜欢使用.net控件。

您可以使用RichTextBox为不同的颜色进行颜色编码


自定义文本框的paint()事件?Regex+richtextbox。在谷歌上搜索“C#语法突出显示文本框”以获取有关如何操作的示例,您不必使用第三方库,但至少可以查看示例。不过,这个网站的格式不适合回答这个问题,所以我投票决定关闭它,因为它太宽泛了。@Thomas:你在谈论什么
Paint
事件???在
文本框中没有这样的东西!你好,谢谢。有一个控件是很酷的,我认为这将使它以某种方式成为可能。但这意味着要有两个盒子,并给整条线上色。而对于我的需要,我有一个单独的框(编辑器),应该在键入时进行着色,根据我们的逻辑为关键字、变量和其他元素着色。你可以在RTB中随心所欲地为每个字符着色。但是,如果不学习基本知识,就不要开始学习@Net,我给了你理解RichTextbox的示例链接。用户键入时必须编写逻辑。明白了吗?@Jigneshk很清楚,但你知道当用户键入时更改RTB的SelectedText属性会发生什么吗?您不能更改它,因为在最好的情况下会停止用户,而在最坏的情况下,用户将键入选定的文本并替换它。您需要创建一个在每个TextChanged事件上调用的colorMySkript函数。它应该1)存储选择2)执行所有着色3)恢复选择(如果有)。