在打开表单之前,我使用以下代码检查其标签是否然后更改字体
foreach (Label ctl in frm.Controls)
{
ctl.Font = usefontgrid;
}
但在第一行返回错误,因为它检查其他控件类型,如文本框或按钮等。
我如何检查对象是否只是标签然后去每个?
在打开表单之前,我使用以下代码检查其标签是否然后更改字体
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;
}
还有下面的Linq做同样的事情
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;
}
}