Skip to main content
 首页 » 编程设计

c#之如何从 Web 应用程序中保存富文本并将其显示在富文本框中

2024年02月24日32freeliver54

我目前正在与同事一起开发一个应用程序 - 她正在编写一个 Web 表单,允许用户输入和管理文本,这些文本将保存到数据库中,然后显示在桌面应用程序中。

我正在使用富文本框来显示数据库中的文本。我们希望允许用户在 Web 应用程序中使用基本格式(粗体、斜体、下划线),然后在桌面应用程序中显示该格式。

我想知道是否有可以在网络表单中输入的标签或其他内容(如 或 [b] 等),它会自动在 RTB 中显示格式。

如果这不可能,实现此功能的最佳方法是什么?

我正在为桌面应用程序使用 C# windows 窗体。

更新: Web 表单使用 PHP。

请您参考如下方法:

几年前我就玩过这个 - 基本上我在数据库中有文本,我正在标记以强调某些单词。我在存储过程中对其进行了标记,然后在客户端将其转换为 RTF。

我尝试查看 RTF 规范,但仅阅读规范并知道该怎么做有点具有挑战性。

我建议打开写字板(开始 -> 运行... -> 写字板),并使用不同的字体样式等。然后将其作为 RTF 文档保存在某处。在您选择的纯文本编辑器中打开该文档(我使用 Notepad++ ),这将帮助您更轻松地找出 RTF。

这是我创建的一个简单 RTF 文档的示例:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}} 
{\colortbl ;\red0\green0\blue255;} 
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20 Hello World.\par 
\b This text is bold.\b0\par 
\i This text is italicized.\i0\par 
\cf1 This text is blue.\cf0\par 
} 

其中一些标签只是额外的标记,您可以不用它们。试一试看看。

最终你应该能够按照以下方式做一些事情:

string rtf = GetMarkupTextFromServer(); 
rtf = rtf.Replace("[b]", @"\b"); 
rtf = rtf.Replace("[/b]", @"\b0"); 
rtf = rtf.Replace("[i]", @"\i"); 
rtf = rtf.Replace("[/i]", @"\i0"); 
    ... 
mRichTextBox.Rtf  = rtf;