【问题标题】:Italicizing characters in a RichTextBoxRichTextBox 中的斜体字符
【发布时间】:2009-12-28 14:04:13
【问题描述】:

found如何使代码中的文本加粗:

richTextBox1.Rtf = @"{\rtf1\ansi This is in \b bold\b0.}";

但我还需要如何使文本斜体。谷歌并没有给我太多。

我试过这个(类似于粗体,但字符不同),但不起作用。

richTextBox1.Rtf = @"{\rtf1\ansi This is in \i italic\i0.}";

有人可以帮帮我吗?

【问题讨论】:

    标签: .net-3.0


    【解决方案1】:

    我想到了两篇文章可以帮助你理解 RTF,第一篇是RTFTree,它可以用来构建一个复杂的文档并加载它,类似于加载有树/节点的 XML 文档.另一篇文章是关于编写自己的 RTF converter - 一个可以将 RTF 转换为 HTML 的解析器,反之亦然。

    您将在代码中找到有关如何插入斜体格式等的示例。我包含这两个链接是为了帮助您深入了解如何使用 RTF。

    开始编辑: 我在写字板中创建了一个简单的 rtf 文档,如下所示

    {\rtf1\ansi\ansicpg1252\deff0\deflang6153{\fonttbl{\f0\fswiss\fcharset0 Arial;}} {\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\b\f0\fs20 粗体\b0\par \i 斜体\i0\par }

    RTF 文档有两行“粗体”和“斜体”以及它们各自的格式,保存文档并在另一个编辑器中打开它,这就是显示的内容。所以肯定缺少一些东西,也许是一个段落标记\par 包裹在它周围。

    这是在 Windows XP Home 的写字板下完成的。

    结束编辑

    希望这些对您有所帮助和有用, 最好的祝福, 汤姆。

    【讨论】:

    • 感谢您的输入,有点不清楚斜体文本使用什么
    • @Natrium:请查看我编辑的答案。我的猜测是您没有选择合适的字体来启用粗体/斜体样式。也许尝试复制 rtf 代码并将其粘贴为 RichTextBox1 类的属性 RtfText 的赋值。希望这对您有进一步的帮助。
    【解决方案2】:

    这就是我设法做到的:

    richTextBox1.Rtf = @"{\rtf1\ansi This is in \i\f0\fs17 italic\i0.}";
    

    编辑:

    我是怎么做到的? 我创建了一个带有富文本框和按钮的小型测试应用程序。

    我在 Richtextbox 中输入了一些文本,我选择了文本并按下了按钮。

    private void button1_Click(object sender, EventArgs e)
    {
        richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Italic);
        richTextBox1.SaveFile(@"c:\test.rtf");
    }
    

    这保存了 rtf。我在 Notepad++ 中打开了 rtf。 rtf 的内容是

    {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
    \viewkind4\uc1\pard\i\f0\fs17 hello\i00\par
    }
    

    这就是我发现如何在富文本框中使用斜体的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2015-10-08
      相关资源
      最近更新 更多