如何创建条纹富文本框?
Posted
技术标签:
【中文标题】如何创建条纹富文本框?【英文标题】:How to create a striped richtextbox? 【发布时间】:2011-10-27 07:59:52 【问题描述】:我需要在带有绿色条纹背景的 RichtTextBox 中显示文本。这意味着,第一行的背景颜色为白色,第二行的背景颜色为绿色,第三行为白色,下一行为绿色,以此类推。
我该如何实现?
目前我想象的唯一方法是为每个文本行设置颜色。但我必须用空格填充每一行才能得到整行。这种方式对我来说似乎是不好的做法。
我想到了诸如 OnPaint 事件之类的事情,我可以在显示文本之前为每一行设置背景颜色。
如果有另一个 TextControl 可以处理我的问题,或者我必须实现自己的控件,这也是一个可以接受的解决方案。请给我一些提示。
P.S.:我使用的是 .Net2.0。
【问题讨论】:
一个想法是让 RTB 透明,并让你的图案在后面,也许使用 RTB 停靠的自定义面板。 这可能不是最实用的,具体取决于您对线路的要求(这就是我没有发布答案的原因)。 【参考方案1】:实现这一目标的一个选择是使用开源http://scintillanet.codeplex.com/ 项目。另一位 SO 用户询问如何使用此特定工具更改行颜色:Alternate row coloring in Scintilla
如果您不反对付费,WPF Actipro Syntax Editor 支持此功能,但我不确定 WinForm 版本是否支持。
最后的选择是使用来自 #Develop 或 WPF AvalonEdit 的一些代码
【讨论】:
以上是关于如何创建条纹富文本框?的主要内容,如果未能解决你的问题,请参考以下文章