C# 在winforms中嵌入用户自定义的richtext或html

C# 在winforms中嵌入用户自定义的richtext或html,c#,winforms,.net-3.5,richtextbox,C#,Winforms,.net 3.5,Richtextbox,我正在编写一个c#winforms应用程序,它需要使用户能够向界面添加内容。我已经看过RichTextBox和WebBrowser控件,但我不确定该走哪条路。内容将包含带有换行符的文本和几个标记,这些标记将包括项目资源中的图像 This is my text [niceimage] and it includes an image and another: [smiley] RichTextBox控件的缺点是我需要手工制作我不熟悉的richtext。此外,.net framework没有从图像

我正在编写一个c#winforms应用程序,它需要使用户能够向界面添加内容。我已经看过RichTextBox和WebBrowser控件,但我不确定该走哪条路。内容将包含带有换行符的文本和几个标记,这些标记将包括项目资源中的图像

This is my text [niceimage] and it
includes an image and another: [smiley]
RichTextBox控件的缺点是我需要手工制作我不熟悉的richtext。此外,.net framework没有从图像生成元文件的功能,RTF用于嵌入图像的格式


WebBrowser的问题是我不知道如何通过流加载页面。我尝试了文档流,但没有结果。此外,我还需要在html字符串中包含需要嵌入图像的图像,这可能不受支持。另一个问题是WebBrowser控件可能太重,因为该控件将出现在应用程序中的多个位置。它需要非常快地加载,应用程序才能感觉敏捷。

您可能想看看WPF RichTextBox,它被认为是对.NET 2.0版本的重大改进。下面是详细介绍改进的示例

此外,许多组件开发公司提供他们自己的商业版本,该版本具有许多功能和可用性改进。假设您愿意购买这样的组件,您可能需要评估其中的一些组件。尝试用谷歌搜索“RichTextBox组件”


对于您所需要的功能,我觉得使用WebBrowser(尤其是在应用程序的多个位置)会有点过分。

谢谢,新的WPF RichTextBox确实很时髦。它生成一个FlowDocument,然后我可以使用它在FlowDocumentScrollViewer中显示。