RichTextBox替换Winforms .NET2.0 +

时间:2009-08-25 13:26:49

标签: c# winforms richtextbox rtf

我一直在使用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,并且具有适当的鼠标悬停过渡,用于图像大小调整手柄和可靠的子弹支持。

我目前的选择是缩减我的努力并取消对不削减功能的支持,但仍会留给我一些可用的功能。

4 个答案:

答案 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控件。