我搜索了一段时间,但找不到答案,所以我希望它不是重复的。
我有以下代码:
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 为新创建的 Label
的 Name
属性提供字符串 "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/