C# RichTextBox替换Winforms.NET2.0+;

C# RichTextBox替换Winforms.NET2.0+;,c#,winforms,richtextbox,rtf,C#,Winforms,Richtextbox,Rtf,我一直在使用C#(添加打印机支持和URL链接)扩展VS2008中的RichTextBox控件。我有我需要的大部分功能,但控制不是很好。我不知道如何更改图像大小控制柄的鼠标光标。子弹的大小和颜色都不一样。我需要这个winforms而不是asp.net或wpf。与html所见即所得编辑器相比,我更喜欢rtf 大多数richtextbox的替换版本要么太旧.NET1.0/1.1,要么太简单,要么太复杂和昂贵 我正在使用Infragistics控件库,它们与richtextbox最接近的控件并没有提供我

我一直在使用C#(添加打印机支持和URL链接)扩展VS2008中的RichTextBox控件。我有我需要的大部分功能,但控制不是很好。我不知道如何更改图像大小控制柄的鼠标光标。子弹的大小和颜色都不一样。我需要这个winforms而不是asp.net或wpf。与html所见即所得编辑器相比,我更喜欢rtf

大多数richtextbox的替换版本要么太旧.NET1.0/1.1,要么太简单,要么太复杂和昂贵

我正在使用Infragistics控件库,它们与richtextbox最接近的控件并没有提供我想要的所有功能。他们确实提供了一个拼写检查控件,该控件与基于文本的控件以及std winforms textbox和richtextbox一起工作。它将与实现IProvideTextBox或ISupportSpellChecking接口的任何控件一起工作。不幸的是,大多数功能丰富的文本框替换都提供了自己的拼写检查插件控件,这些控件既不支持IProvideTextBox,也不支持ISupportSpellChecking。我想用我的应用程序向用户分发1个std字典,而不是多个需要保持同步的字典

另一件事是richtextbox只是一个简单的控件。您需要添加自己的菜单控件,并自行连接。大多数昂贵的再植提供了一个现成的接线工具条。这很好,但是如果一个人要为所有人开发一个一致的外观,那么应用程序必须删除一个供应商工具栏,这就很困难了,因为现在有一组奇怪的菜单按钮,它们的外观和行为与我的UI的其他部分不同。此外,我正在使用应用程序样式器对我的应用程序进行蒙皮。第三方菜单控件不太可能适应这种样式

有谁能推荐一个合理的RichTextBox控件替代品,我可以使用它,它不会花费太多的钱,可以在winforms中工作,支持RTF,并且具有适当的鼠标移动以调整图像大小手柄和可靠的项目符号支持。

我目前的选择是缩减我的工作量,取消对那些功能的支持,这些功能虽然不能减少工作量,但仍然会给我留下一些可用的功能。

我们使用的是“在这里”,我们非常满意。价格不高,支持也令人难以置信

如果您想购买整个软件包,编辑器也可以嵌入到他们的网格中


所谓adorner,你的意思是像Office 2007工具栏那样在选定的文本上弹出吗?

虽然我对
RichTextBox
es没有丰富的经验,但我过去在使用DevExpress控件套件方面取得了巨大的成功(比Infrastics,IMHO好得多)。我也知道他们在过去几个月里发布了一个全新的RTF编辑器,所以我一定会看一看。

我正在使用,但它在某种程度上(非常)复杂。

如果您有支持它的操作系统,您可以随时尝试Microsoft Inkedit控件(我对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 Assembly\Microsoft\Tablet PC

除非您想使用此控件的墨迹功能,否则就功能而言可能没有什么好处。但是,我注意到,对于长文件(10倍以上)加载文本要比以前的RichTextBox快得多,而且看起来滚动也更平滑


这似乎是未经宣传的,但Visual Studio 2010 B1也有一个更新的RichTextBox控件。

谢谢我将develxpress与Delphi一起使用。这还可以。他们的RichtextEditor的唯一问题是你必须购买整批winform控件才能获得它。除了他们的UltraFormatedTextEditor需要mor之外,我对基础设施非常满意e工作以满足我的要求。在文本编辑器之后,下一个最重要的控件是一个好的拼写检查器。听起来Dev Express文本编辑器可能与Infrastics兼容。两者都声称适用于std winform文本控件。在我们投资Infrastics之后,切换控件库可能有点晚。对于DevExpress,如果您购买完整的软件包,您可以获得源代码。此时,如果您感兴趣,您可以更新源代码以实现ISupportSpellChecking,并调用DevXPress自己的拼写检查引擎。DevXPress允许您重新编译其DLL。这对于源代码编辑器来说非常好。我认为它不适合richtextbox的替换。我可能错了,但这就是我得到的印象。我认为它对于其他应用程序开发工作(如脚本编辑器)非常有用。