是否可以格式化WinForm标签中的某些文本,而不是将文本拆分为多个标签?请忽略标签文本中的HTML标记;它只是用来说明问题的。
例如:
Dim myLabel As New Label
myLabel.Text = "This is <b>bold</b> text. This is <i>italicized</i> text."
这将在标签中生成如下文本:
这是粗体文本。这是斜体文本。
发布于 2008-08-14 16:45:51
如果使用WinForms标签,这是不可能的。标签必须只有一种字体,并且只有一种大小和一种字体。您有几个选项:
发布于 2008-08-14 17:07:40
不是真的,但是你可以用一个没有边界的只读RichTextBox来伪造它。RichTextBox支持富文本格式(rtf)。
发布于 2014-06-13 22:28:17
另一个变通办法,派对晚了:如果你不想使用第三方控件,只是想引起人们对标签中的一些文本的注意,而且你对下划线没意见,你可以使用LinkLabel。
请注意,许多人认为这是一种“usability crime”,但如果你不是为终端用户设计一些东西,那么它可能是你准备在自己的良知中拥有的东西。
诀窍是将禁用的链接添加到您想要加下划线的文本部分,然后全局设置链接颜色以匹配标签的其余部分。除了Links.Add()
片段之外,您几乎可以在设计时设置所有必需的属性,但以下是代码中的这些属性:
linkLabel1.Text = "You are accessing a government system, and all activity " +
"will be logged. If you do not wish to continue, log out now.";
linkLabel1.AutoSize = false;
linkLabel1.Size = new Size(365, 50);
linkLabel1.TextAlign = ContentAlignment.MiddleCenter;
linkLabel1.Links.Clear();
linkLabel1.Links.Add(20, 17).Enabled = false; // "government system"
linkLabel1.Links.Add(105, 11).Enabled = false; // "log out now"
linkLabel1.LinkColor = linkLabel1.ForeColor;
linkLabel1.DisabledLinkColor = linkLabel1.ForeColor;
结果:
https://stackoverflow.com/questions/11311
复制相似问题