zoukankan      html  css  js  c++  java
  • winform查找控件

            /// <summary>
            /// 查找指定类型控件
            /// </summary>
            /// <typeparam name="T">待查找控件类型</typeparam>
            /// <param name="ctl">控件所在容器</param>
            /// <param name="act">找到后执行的操作</param>
            private void FindCtl<T>(Control ctl, Action<T> act) where T : Control
            {
                T tmp = null;
                Stack<Control> ctls = new Stack<Control>();
                for (int i = 0; i < ctl.Controls.Count; i++)
                {
                    if (ctl.Controls[i].Controls.Count > 0 || (ctl.Controls[i] as T) != null)
                    {
                        ctls.Push(ctl.Controls[i]);
                    }
                }
    
                do
                {
                    Control tmpCtl = ctls.Pop();
                    tmp = tmpCtl as T;
                    if (tmp == null && tmpCtl.Controls.Count > 0)
                    {
                        for (int i = 0; i < tmpCtl.Controls.Count; i++)
                        {
                            ctls.Push(tmpCtl.Controls[i]);
                        }
                    }
                    if (tmp != null)
                    {
                        act(tmp);
                    }
                } while (ctls.Count > 0);
            }
  • 相关阅读:
    注意
    被虐的很惨
    在cmd中可以运行java,但是不能用javac
    Linux常用命令
    安装JDK和eclipse
    重装win7
    小希的迷宫
    并查集——The Suspects
    BFS宽度优先搜索
    括号匹配
  • 原文地址:https://www.cnblogs.com/coder-soldier/p/12924388.html
Copyright © 2011-2022 走看看