在WinForm标签中格式化文本
时间:2020-03-05 18:39:41 来源:igfitidea点击:
是否可以在WinForm标签中设置某些文本的格式,而不是将文本分成多个标签?请忽略标签文本中的HTML标签;这只是用来说明我的观点。
例如:
Dim myLabel As New Label myLabel.Text = "This is <b>bold</b> text. This is <i>italicized</i> text."
它将在标签中产生文本为:
This is bold text. This is italicized text.
解决方案
回答
我也将有兴趣找出是否有可能。
当我们找不到解决方案时,我们求助于组件'SuperLabel'控件,该控件允许在标签中进行HTML标记。
回答
使用WinForms标签是不可能的。标签必须具有一种字体,一种字体和一个面。我们有两种选择:
- 使用单独的标签
- 创建一个新的Control派生类,该类通过GDI +绘制自己的图形,并使用它代替Label;这可能是我们最好的选择,因为它使我们可以完全控制如何指示控件设置其文本格式
- 使用第三方标签控件,该控件可让我们插入HTML代码段(有一堆-检查CodeProject);这将是其他人实施的#2.
回答
并非如此,但是我们可以使用无边框的只读RichTextBox伪造它。 RichTextBox支持RTF格式(rtf)。
回答
- 在写字板中将文本创建为RTF文件
- 创建无边框的Rich Text控件,并且editable = false
- 将RTF文件作为资源添加到项目中
- 在Form1_load中执行myRtfControl.Rtf = Resource1.MyRtfControlText