C#如何更改标签的字体

时间:2011-02-08 22:28:00

标签: c# winforms fonts label

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

“应用”按钮的选项表单代码,如果单击该按钮将返回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;
}

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

public static Label lblName = new Label();

...

private void mainForm_Load(object sender, EventArgs e)
{
    lblName = lblBarName;
}

4 个答案:

答案 0 :(得分:31)

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

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);

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

答案 1 :(得分:8)

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

  mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);

答案 2 :(得分:4)

您需要创建一个新的字体

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size);

答案 3 :(得分:0)

this.lblMessage.Font = new Font("arial", this.lblName.Font.Size);
相关问题