c# - 在代码 C# 中将标签字体更改为粗体

标签 c# winforms label

我搜索了一段时间,但找不到答案,所以我希望它不是重复的。

我有以下代码:

this.Controls.Add(new Label { Location = new Point(10, 10), 
                              AutoSize = true, 
                              Name = "jobNumStatic",
                              Text = "Job Number:", 
                              Font = new Font(jobNumStatic.Font, FontStyle.Bold) });

我正在尝试将字体更改为粗体。但是该代码给出了错误,名称“jobNumStatic”在当前上下文中不存在。有没有办法让这里的字体变粗?

我也试过:

jobNumStatic.Font = new Font(jobNumStatic.Font, FontStyle.Bold) });

声明标签后,它给了我同样的错误。

最佳答案

要使用 Label 的默认字体作为原型(prototype),只需使用静态 Label.DefaultFont 属性:

this.Controls.Add(new Label { Location = new Point(10, 10), 
                          AutoSize = true, 
                          Name = "jobNumStatic",
                          Text = "Job Number:", 
                          Font = new Font(Label.DefaultFont, FontStyle.Bold) });

jobNumStatic 不是您范围内的变量。您在 runtime 为新创建的 LabelName 属性提供字符串 "jobNumStatic",但这样做并不意味着您在编译时神奇地拥有了一个具有该名称的变量。

如果您稍后需要访问此Label,您当然可以声明一个成员变量:

private Label jobNumStatic;

并将创建的实例分配给该变量:

jobNumStatic = new Label { Location = new Point(10, 10), 
                          AutoSize = true, 
                          Name = "jobNumStatic",
                          Text = "Job Number:", 
                          Font = new Font(Label.DefaultFont, FontStyle.Bold) });
this.Controls.Add(jobNumStatic);

关于c# - 在代码 C# 中将标签字体更改为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43326259/

相关文章:

c# - TextBlock TextWrapping Wrap 和 NoWrap 相结合,通过 DynamicResource 文本

c# - 在 ASP.NET MVC 5 中,什么方法设置 User 对象?

c# - 如何在C#中获取unix时间戳

C# 将具有多种类型字符的字符串编码为 HTML

z3 中 SMT-LIB 2.0 断言上的标签

c# - 在 C# SQLCLR 中更改静态只读变量是否安全?

c# - 如何在 AboutBox 的描述字段内显示超链接

c# - 滚动到 C# 中单行文本框的末尾

java - 如何使java.awt.Label背景透明?

delphi - 动态创建的THTMLabel.Height总是返回默认值?