2013-03-13 57 views
0

我需要叫selectionColor设置财产在文本框类,一个简单的语法高亮 - 为什么我试图做到这一点引起太多的问题,那就是 - 我不能直接使用一个RichTextBox 。包括文本框selectionColor设置

有什么办法可以让该属性可用于TextBox? 如果这是不可能的,我会尝试写我自己的,但我需要一个关于如何去做的想法,基本上它是如何工作的 - 它是基于在原始文本上绘制字符串吗?

在此先感谢。

回答

1

基本上,对纯文本以外的任何东西使用TextBox是一个坏主意。首先,你最终会得到一个新功能来实现它不存在于TextBox中,你将不得不手动处理它。一段时间后,您将实现自定义RichTextBox或类似的东西。

其次,解决你所提到的问题还是比较困难的。从技术上讲,你可以重写绘画功能(如果你需要TextBox的新功能,你可以使用来做)。然后,您可以让TextBox自己绘制并在图像上方绘制彩色文本。 不这样做。你会得到两个(也许更多)的问题:

  • 闪烁的形象。一旦原始文本框已经绘制完成,图像可以显示在屏幕上(如果您不使用双缓冲)。
  • 文本对齐。这是很难把彩色文本完全黑色文本上面,再加上你可以运行与文本渲染的问题:你需要你在绘制明确区域
+0

我明白了,看来我得回到RichTextBox。感谢您的快速回答:) – Apex 2013-03-13 16:07:06