带有标签和“选项”按钮的表单。通过单击按钮,将打开一个新表单,其中包含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;
}
答案 0 :(得分:31)
Font.Name
,Font.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);