【问题标题】:C# Rich Text Box TagsC# 富文本框标签
【发布时间】:2013-04-19 10:26:46
【问题描述】:

我有一个可以从服务器加载文本的富文本框。从服务器端我想添加将生成文本框的格式化标签。 例如:

result = result.Replace("[b]", @"{\b ").Replace("[/b]", "}").Replace("[br]", @"{\line}").Replace("[i]", @"{\i ").Replace("[/i]", "}");
TextBox1.Rtf = @"{\rtf1\ansi " + result + "}";

然后我可以输入:

Hello [b]this is in bold[/b] and [i] this is in [/i]

因此将替换所需的 rtf1\ansi 格式,并相应地以所需的粗体和斜体文本显示。

我想实现下划线,甚至可能是一组颜色。

我试过{\u underlin },但这似乎不起作用...

【问题讨论】:

    标签: c# richtextbox


    【解决方案1】:

    请看一下我创建的简单示例。将整个文本附加到您的 RTF 属性。

    {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
    {\colortbl ;\red255\green0\blue0;\red0\green128\blue0;}
    This is \cf1 \ulwave\ulc2 underlined \ulnone\cf0 text \par
    }
    

    我找不到直接使用 RTF 属性的非常好的参考,但是有很多示例首先执行选择,然后应用所需的属性。我尝试了其中的一些示例,然后检查了生成的 RTF 文本。这是了解 Richtextbox 如何处理 RTF 字符串的简单方法。希望这个小技巧也能帮助到你:)。

    请注意,在第 2 行,我放置了一个包含 2 种颜色的颜色表,即用分号分隔的 2 个 RGB 值。您可以在这里添加您想要的颜色并将它们称为1,2等。我相信0是默认颜色并且是白色的。

    【讨论】:

    • 这将如何实现,以便将我的 [u] 和 [/u] 标签替换为类似于 {\b 和 } 标签的东西?我的问题不是关于 RichTextBoxes 中的格式设置,而是更多关于提供的标签,例如 {\b 和 }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多