设置Form窗体中的控件的属性

借助于反射,可获取当前窗体中的所有控件,根据需要设置它们的属性。

 Font defaultFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);

//查找所有的控件,设置为同样的字体
IterateControls(this.Controls, typeof(Foundation.WinUI.Misc.Label));
foreach (Control ctrl in grids)
{
     ctrl.Font = defaultFont;
}

grids = new List<Control>();
IterateControls(this.Controls, typeof(Foundation.WinUI.Misc.TabControl));
foreach (Control ctrl in grids)
{
   foreach (UltraTab tab in (ctrl as Foundation.WinUI.Misc.TabControl).Tabs)
   {
         tab.Appearance.FontData.Name = defaultFont.Name;
         tab.Appearance.FontData.SizeInPoints = defaultFont.SizeInPoints;
    }
}

grids = new List<Control>();
IterateControls(this.Controls, typeof(Foundation.WinUI.Editors.CheckBoxEditor));
foreach (Control ctrl in grids)
{
     ctrl.Font = defaultFont;
}
 
 
 

获取指定类型控件的方法:

private void IterateControls(Control.ControlCollection controls, Type type)
{
        foreach (Control child in controls)
        {
                if (child.GetType() == type)
                    grids.Add(child);

                if (child.HasChildren)
                    IterateControls(child.Controls, type);
         }
}
 

代码来自stackoverflow。

 
原文地址:https://www.cnblogs.com/JamesLi2015/p/4651770.html