Windows C#表单的主显示设置

时间:2014-03-02 07:37:01

标签: c# css .net forms

我正在使用Windows C#表单开发一个应用程序.Net 3.5 应用程序包含接收用户输入,显示报告等的不同表单。

在开发这些表单时,我必须在表单之间切换,以确保它们的外观(例如字体大小,表单大小)是一致的。我是通过编辑表单属性来完成的。

我的问题是,是否可以使用主样式表(如CSS)来控制所有表单的属性?或者如何实现这一目标?

感谢。

1 个答案:

答案 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));
}