【发布时间】:2018-01-11 01:18:58
【问题描述】:
语言:C#
我的问题...
问。是否有一种简单的方法来更改富文本框中的字符串格式,类似于使用 HTML 处理它的方式。
例如:
richTextBox1.text = "[i]Hello[/i] [Bold]world![/Bold]";
输出:Hello 世界!
我也想知道有没有颜色?
在此先感谢您的反馈。
【问题讨论】:
标签: text colors formatting
语言:C#
我的问题...
问。是否有一种简单的方法来更改富文本框中的字符串格式,类似于使用 HTML 处理它的方式。
例如:
richTextBox1.text = "[i]Hello[/i] [Bold]world![/Bold]";
输出:Hello 世界!
我也想知道有没有颜色?
在此先感谢您的反馈。
【问题讨论】:
标签: text colors formatting
富文本格式本身就是一种语言。但是,您无需学习即可使用它。
但是,还有其他可能更实用的方法可以实现,例如:
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,您将看到相同外观的相同文本。
【讨论】:
您好,非常感谢 @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;
【讨论】: