我正在使用Windows C#表单开发一个应用程序.Net 3.5 应用程序包含接收用户输入,显示报告等的不同表单。
在开发这些表单时,我必须在表单之间切换,以确保它们的外观(例如字体大小,表单大小)是一致的。我是通过编辑表单属性来完成的。
我的问题是,是否可以使用主样式表(如CSS)来控制所有表单的属性?或者如何实现这一目标?
感谢。
答案 0 :(得分:2)
没有类似CSS的方法,但你可以编写一个方法来枚举表单上的所有控件并设置它们的样式
StyleIt<Label>(this, lbl => { lbl.ForeColor = Color.Red; });
void StyleIt<T>(Form f, Action<T> action)
{
Func<Control, IEnumerable<Control>> allControls = null;
allControls = root => new Control[] { root }
.Concat(root.Controls.Cast<Control>()
.SelectMany(c => allControls(c)));
allControls(f).OfType<T>().ToList()
.ForEach(tb => action(tb));
}