在打开表单之前设置所有标签字体

本文关键字:标签 字体 设置 表单 | 更新日期: 2023-09-27 18:29:21

在打开表单之前,我使用以下代码检查其标签是否更改了字体

foreach (Label ctl in frm.Controls)
{
    ctl.Font = usefontgrid;
}

但在第一行返回错误,因为它检查了其他控件类型,如文本框或按钮等。

如何检查对象是否只是标签,然后转到每个标签?

在打开表单之前设置所有标签字体

试试这个;

foreach (Control c in this.Controls)
{
    if (c is Label)
        c.Font = usefontgrid;
}

foreach (var c in this.Controls.OfType<Label>())
{
    c.Font = usefontgrid;
}

不清楚您将此代码放在哪里(应该在初始化组件之后),但请尝试

foreach (Label ctl in frm.Controls.OfType<Label>())
{
    ctl.Font = usefontgrid;
}

还有下面的林克做同样的事情

foreach (Label ctl in frm.Controls.Where(x => x is Label))

试试这个。

 foreach (Control ctl in frm.Controls)
    {
    if(ctl.GetType()==typeof(Label)){
        ctl.Font = usefontgrid;
    }
    }
  1. frm.controls将提供所有控制
  2. 您需要检查控件是否为Label类型