设置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。