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

     
  • 相关阅读:
    Tempter of the Bone
    CODE[VS]1160 蛇形矩阵
    CODE[VS] 1205 单词翻转
    CODE[VS] 1204 寻找子串位置
    a little sweet~
    我多喜欢你,你会知道
    P1474 货币系统 Money Systems
    P1096 Hanoi双塔问题
    P1209 [USACO1.3]修理牛棚 Barn Repair
    下一秒
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/4651770.html
Copyright © 2020-2023  润新知