zoukankan      html  css  js  c++  java
  • window forms遍历窗体所有控件

    /// <summary>

            /// 只遍历控件的子控件,不遍历孙控件

            ///当控件有子控件时,需要用递归的方法遍历,才能全部列出控件上的控件

            /// </summary>

            /// <typeparam name="T">要匹配的控件类型</typeparam>

            /// <param name="control">要遍历的了控件</param>

            /// <param name="controlsName">要匹配的控件名</param>

            /// <returns></returns>

            public static Control GetControl<T>(Control control, string controlsName)

            {

                if (control == null) return null;

                Control _control;

                for (int i = 0; i < control.Controls.Count; i++)

                {

                    _control = control.Controls[i];

                    if (_control == null) return null;

                    if (_control.Name == controlsName && _control is T)

                        return _control;

                    if (_control.HasChildren)

                    {

                        _control = GetControl<T>(_control, controlsName);

                        if (_control != null)

                            return _control;

                    }

                }

                return null;

            }

            /// <summary>

            /// 遍历窗体所有控件

            /// </summary>

            /// <typeparam name="T">要匹配的控件类型</typeparam>

            /// <param name="form">窗体名</param>

            /// <param name="controlsName">要匹配的控件名</param>

            /// <returns></returns>

            public static Control GetControl<T>(Form form, string controlsName)

            {

                Control _Control = null;

                for (int i = 0; i < form.Controls.Count; i++)

                {

                    _Control = GetControl<T>(form.Controls[i], controlsName);

                    if (_Control != null)

                        return _Control;

                }

                return null;

            }

    使用方法:

    Control _control;

     _control = GetControl<TextBox>(customer, "txtValue");

        if(_control!=null)

               ((TextBox) _control).Text = "text";

     _control = GetControl<ComboBox>(customer, "ddl");

        if (_control != null)

                ((ComboBox)_control).SelectedIndex = 0;

  • 相关阅读:
    [Codeforces 1245D] Shichikuji and Power Grid (最小生成树)
    [BZOJ 1535] [Luogu 3426]SZA-Template (KMP+fail树+双向链表)
    [BZOJ1009] [HNOI2008] GT考试(KMP+dp+矩阵快速幂)
    [Codeforces 1246B] Power Products (STL+分解质因数)
    [BZOJ 3992] [SDOI 2015] 序列统计(DP+原根+NTT)
    [BZOJ5306] [HAOI2018]染色(容斥原理+NTT)
    [Codeforces 1239D]Catowise City(2-SAT)
    [BZOJ 3527] [ZJOI2014]力(FFT)
    [BZOJ 3456]城市规划(cdq分治+FFT)
    【2-SAT(最小字典序/暴力染色)】HDU1814-Peaceful Commission
  • 原文地址:https://www.cnblogs.com/huangtailang/p/2220127.html
Copyright © 2011-2022 走看看