【问题标题】:Rich Text Box *Formatting富文本框 *格式
【发布时间】:2018-01-11 01:18:58
【问题描述】:

语言:C#

我的问题...

问。是否有一种简单的方法来更改富文本框中的字符串格式,类似于使用 HTML 处理它的方式。

例如:

richTextBox1.text = "[i]Hello[/i] [Bold]world![/Bold]";

输出:Hello 世界!

我也想知道有没有颜色?

在此先感谢您的反馈。

【问题讨论】:

    标签: text colors formatting


    【解决方案1】:

    富文本格式本身就是一种语言。但是,您无需学习即可使用它。

    但是,还有其他可能更实用的方法可以实现,例如:

    RichTextBox1.Text = "Hello World"
    
    ' Select Hello and Bold It
    RichTextBox1.Find("Hello")
    Dim fntBold As New Font(RichTextBox1.Font, FontStyle.Bold)
    RichTextBox1.SelectionFont = fntBold
    
    ' Select World and Set to Italics
    RichTextBox1.Find("World")
    Dim fntItalic As New Font(RichTextBox1.Font, FontStyle.Italic)
    RichTextBox1.SelectionFont = fntItalic
    

    之后,如果你好奇,你可以看看 RichTextBox.Rtf 属性(它是一个字符串),看看它是什么样子的。这是我做完之后看到的:

    {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}\viewkind4\uc1\pard\lang1033\b\f0\fs17 Hello\b0  \i World\i0\par}
    

    事实上,如果您随后获取该文本,打开记事本,复制 Rtf 属性的文本,保存为 RTF 文件。关闭记事本并在 Word 中打开 RTF,您将看到相同外观的相同文本。

    【讨论】:

      【解决方案2】:

      您好,非常感谢 @Ctznkane525,感谢您让我走上正轨,我确实将其转换为 C#,结果如下:

      using System.Drawing.Text;
      
              rtb_Main.Text = "Hello World";
              rtb_Main.Find("Hello");
              Font fntBold = new Font(FontFamily.GenericSansSerif, 14.0F, FontStyle.Bold);
              rtb_Main.SelectionFont = fntBold;
      
              rtb_Main.Find("World");
              Font fntItalic = new Font(FontFamily.GenericSansSerif, 14.0F, FontStyle.Italic);
              rtb_Main.SelectionFont = fntItalic;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多