遍历窗体中的所有控件

      前段时间在干活的时候涉及到访问窗体中的控件,于是顺便做了一个遍历窗体中所有控件的小程序,虽然是一个老话题了,但还是在这里整理出来,希望和大家一起探讨一下。

      首先在窗体中拖放一些控件,为了达到效果,最好放一些容器控件,最后再放一个label控件,用于显示窗体中控件的信息,在开始前先将label1的text属性设置为:“窗体中包含的控件如下:”然后放一个Button控件,用于响应事件。代码很少,只要一个递归函数和一个简单的调用即可。
代码如下:

 

递归函数
 1        public void TraverControl(Control Ctl)
 2        {
 3            foreach (Control c in Ctl.Controls)
 4            {
 5                
 6                label1.Text += "\n" + "  " + c.Name + "  " + "\n";
 7                //用于显示窗体中包含的所有的控件名,首先显示的是最外层的控件
 8
 9                if (c.Controls.Count == 0)
10                {
11                    continue;
12                }

13                else
14                {
15                    Control C = c;
16
17                    TraverControl(C); //递归调用
18                }

19
20            }

21        }

 

函数调用代码:

Code
      private void button1_Click(object sender, EventArgs e)
        
{
            TraverControl(
this);//调用递归函数
          
        }

 

      上面的代码只对控件有效果,但是如果窗体中含有组件的话(如:ImageList。。。)就不会访问到。所以做完这个以后我就想能不能做一个遍历组件的程序出来,将两者结合起来就可以很全面了,但是限于时间的原因,只好留在以后再做了,到时候再和大家一起分享和探讨。

     

转载于:https://www.cnblogs.com/iwuyudong/archive/2008/12/12/1353737.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值