C#如何更改标签的字体

The*_*End 17 c# fonts label winforms

带有标签和"选项"按钮的表单.通过单击按钮,将打开一个新表单,其中包含2个单选按钮'Font1'和'Font2',以及两个按钮'Apply'和'Cancel'.选择其中一个单选按钮并单击"应用"后,第一个表单上的标签将更改字体.问题是如何更改字体,如说从Tahoma到Arial或标签的任何其他字体.

选项表单代码为apply按钮,如果单击该按钮将返回dialogresult.ok == true并更改第一个表单上的标签字体:

private void btnApply_Click(object sender, EventArgs e)
{
    if (radioFont1.Checked)
    {
        mainForm.lblName.Font.Name = "Arial"; 'wrong attempt 
    }
    this.DialogResult = DialogResult.OK;
}
Run Code Online (Sandbox Code Playgroud)

在第一张表格上声明标签,以便第二种形式可见:

public static Label lblName = new Label();
Run Code Online (Sandbox Code Playgroud)

...

private void mainForm_Load(object sender, EventArgs e)
{
    lblName = lblBarName;
}
Run Code Online (Sandbox Code Playgroud)

djd*_*d87 33

Font.Name,Font.XYZProperty等等Font只是一个不可变对象,因此您需要指定一个新Font对象来替换它:

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);
Run Code Online (Sandbox Code Playgroud)

检查Font类的构造函数以获取更多选项.


Ree*_*sey 9

创建字体后无法更改字体 - 因此您需要创建一个新字体:

  mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);
Run Code Online (Sandbox Code Playgroud)