如何以编程方式使 Windows 窗体中标签的某些部分变为粗体?
我设计的Windows窗体有1个标签。 该标签的文本会根据用户选择的数据动态变化。 目前我正在创建一个字符串并将其分配给标签的文本属性。 我需要一种方法来使我正在创建的字符串的某些部分变为粗体。 我怎样才能在 C# 中完成这个任务?
The windows form that I designed has 1 label. The text of this label changes dynamically depending on what data the user selects. Currently i'm creating a string and assigning it to the label's text property. I need a way to make certain parts of the string that I am creating bold. How can I accomplish this in c#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您无法设置
Label
内文本的格式。 但是,您可以使用RichTextBox
并使其看起来像Label
...You can't format the text inside a
Label
. However, you could use aRichTextBox
and make it look like aLabel
...您必须创建自己的标签类并自己绘制文本,根据需要在粗体和非粗体字体之间切换。 标准
Label
类不支持多种字体样式。You'll have to create your own label class and draw the text yourself, switching between bold and non-bold font as you need. The standard
Label
class does not support multiple font styles.您可以尝试使用 RichTextBox 并使其不可编辑,而不是使用 Label。
Instead of using a Label, you could try using a RichTextBox and make it non-editable.
为此,您需要使用自定义控件。 您可以编写自己的控件,也可以使用现有的控件。 CodeProject 上有一个控件 GMarkupLabel,看起来不错。
You would need to use a custom control for this. You could either write your own or you can use an existing control. On CodeProject there is a control, GMarkupLabel, that looks good.
你不能轻易做到。 标签上的 Font 属性适用于整个字符串。
有两种方法可以做到这一点:
- 如果您想要的格式允许,您可以将标签拆分为两个或多个标签。
-或者您将必须实现从标签继承的您自己的用户控件。
You can't do it easily. The Font property on a label is for the whole string.
There are two ways to do it :
-You can split your label into two or more labels if the format you want allows this.
-Or you will have to implement your own user control inherited from label.