项目地址:https://github.com/DebugST/STTextBox
STTextBox是一个开源的WinFrom控件,纯GDI绘制,支持Emoji表情符号、所有颜色支持Alpha、并且支持自定义文本样式等。原本应当还有更多的功能,但是由于一些其他原因两个月前就暂停了开发,但是又不想烂在手里,所以删除了一些代码后发布至了GitHub。
开发过程中还衍生出另外两个开源项目: https://github.com/DebugST/emoji-svg-render https://github.com/DebugST/STGraphemeSplitter https://blog.csdn.net/crystal_lz/article/details/126096097
文本框中所有的颜色均支持设置Alpha,当然代价就是渲染速度会变慢。
SetTextStyleMonitors可支持多个样式监视器,并且优先级按照先后顺序排列,接口非常灵活,既可以简单也可以非常复杂,截图中的Demo是一个非常简单的实现,因为它仅仅需要监视文本中的StyleDemo关键字即可,然后单独为它制定文本样式。 而内置的CSharpStyleMonitor就是一个复杂的实现。可以看到所有的截图中代码高亮都非常的全面,而不仅仅是.Net语法的关键字,属性 函数 类 符号 数字都被高亮显示了,因为在CSharpStyleMonitor中实现了一个简单的词法分析器用于解析CSharp的语法规则。至于其他语言。。。。累了。。。只想摆烂。。 在STTextBox发布的时候内置了4个样式监视器,分别为:KeyWordStyleMonitor CSharpStyleMonitor LinkStyleMonitor SelectionStyleMonitor,其功能分别为:指定任意关键字和样式、CSharp语法高亮、超链接样式,与被选中单词一样的关键字高亮。
|