我一直在使用C#(添加打印机支持和URL链接)扩展VS2008中的RichTextBox控件。我拥有我需要的大部分功能,但控制并不是那么好。我不知道如何更改鼠标光标的图像大小调整句柄。子弹的大小和颜色都没有了。我需要这个winforms而不是asp.net或wpf。我更喜欢rtf到html wysiwyg编辑。
大多数richtextbox替换都是旧的.NET 1.0 / 1.1,太简单或过于复杂和昂贵。
我正在使用Infragistics控件库,他们对richtextbox最近的控制并不能完全提供我想要的所有功能。它们提供了一个拼写检查控件,它可以同时使用基于文本的控件和std winforms文本框和richtextbox。它适用于任何实现IProvideTextBox或ISupportSpellChecking接口的控件。不幸的是,大多数功能丰富的文本框替换都提供了自己的拼写检查插件控件,它们不支持IProvideTextBox或ISupportSpellChecking。我想通过我的应用程序向用户提供1 std字典,而不是多个需要保持同步的用户。
另一件事是richtextbox只是作为一个朴素的控制。您需要添加自己的菜单控件并自行连接。大多数昂贵的替换品都提供了准备连线的工具栏。这很好但是如果一个人开发出一致的外观和感觉,那些不得不放弃供应商工具栏的应用程序会让这很困难,因为现在有一组奇怪的菜单按钮,其外观和行为与我的其他UI不同。此外,我正在使用应用程序样式来修饰我的应用程序。第三方菜单控件不太可能适应这种样式。
任何人都可以建议一个合理的RichTextBox控件替换,我可以使用它不会花费地球,在winforms中工作,支持RTF,并且具有适当的鼠标悬停过渡,用于图像大小调整手柄和可靠的子弹支持。
我目前的选择是缩减我的努力并取消对不削减功能的支持,但仍会留给我一些可用的功能。
答案 0 :(得分:1)
我们使用DevExpress Rich Text Editor这里我们非常满意。价格不高,支持令人难以置信。
如果您想购买整个包装,编辑器也可嵌入其网格中。
通过adorner,您的意思是像在所选文本上弹出的Office 2007工具栏吗?
答案 1 :(得分:1)
虽然我没有RichTextBox
es的丰富经验,但我在过去使用DevExpress控件套件取得了很大的成功(比Infragistics,恕我直言,更好)。我也知道他们在过去的几个月里发布了一个全新的RTF编辑器,所以我肯定会看一下。
答案 2 :(得分:0)
我正在使用ScintillaNet,但它在某种程度上(非常)很复杂。
答案 3 :(得分:0)
如果您有支持它的操作系统,您可以随时尝试使用Microsoft Inkedit Control(我遇到了64位WS2008和Windows XP的问题,但其余的都很好)。
InkEdit继承自RichTextBox,因此您可以:
private System.Windows.Forms.RichTextBox richTextBox3;
try
{
this.richTextBox3 = new Microsoft.Ink.InkEdit();
Microsoft.Ink.InkEdit ie = (Microsoft.Ink.InkEdit)richTextBox3;
// disable tablet-style ink mode
ie.InkMode = Microsoft.Ink.InkMode.Disabled;
}
catch
{
\\ in case platform does not support inkedit control
this.richTextBox3 = new RichTextBox();
}
您需要添加对Microsoft.Ink.dll的引用(在我的机器上):
C:\ Program Files \ Reference Assemblies \ Microsoft \ Tablet PC
除非你想使用这种控制墨水功能,否则作为功能可能没有什么大的好处。但是,我注意到加载文本对于长文件(10x +)要比前一个RichTextBox快得多,并且似乎也有更平滑的滚动。
这似乎是未经证实的,但Visual Studio 2010 B1也有一个更新的RichTextBox控件。