CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何遍历窗体中的所有控件?

楼主zhxiongying(雄鹰)2005-01-29 22:23:24 在 .NET技术 / VB.NET 提问

如何遍历窗体中的所有控件? 问题点数:20、回复次数:16Top

1 楼Qqwwee_Com(http://qqwwee.com)回复于 2005-01-29 22:25:49 得分 0

for   each   c   as   control   in   me.controls  
   
  ....  
  好象是。Top

2 楼AllenTing(今天你GC了吗???)回复于 2005-01-29 22:31:47 得分 0

foreach(Control   ctr   in   Page.Controls)  
  {  
          //遍历页面中所有服务器控件,根据控件类型或者id可以实现查找某个控件  
       
   
   
   
  }Top

3 楼linlin1972(林林)回复于 2005-01-29 22:37:27 得分 0

sub   EveryControl(parentControl   as   control)  
        if   parentcontrol.controls.count>0   then  
                for   each   c   as   control   in   parentControl.controls  
                      EveryControl(c)  
                next  
        else  
              ...  
        next  
  end   sub  
   
  这样会不会太过份?:-)Top

4 楼xxuu503(中国没有prison break只是因为the company不让拍)回复于 2005-01-29 22:57:01 得分 0

for   each   c   as   control   in   me.controls  
   
  ....  
  好象是。  
   
   
   
  这个是对的,不过panel和groupbox等一些容器,他们内部的不好访问,我觉得还得写循环Top

5 楼longqiaoman(龙桥人)回复于 2005-01-30 09:02:24 得分 0

递归查找  
   
  public   sub   FindControl()  
        for   each   obj   as   Control   in   me.Controls  
                  FindControl(obj)  
        next  
  end   sub  
   
  private   sub   FindControl(byval   objContainer   as   Control)  
        if   (objContainer   is   nothing)   orelse   objContainer.Controls.Count=0   Then  
              return  
        end   if  
        for   each   obj   as   Control   in   me.Controls  
                      FindControl(obj)  
        next  
  end   subTop

6 楼longqiaoman(龙桥人)回复于 2005-01-30 09:03:52 得分 20

'sorry,写错了  
  '把me改为objContainer    
   
  public   sub   FindControl()  
        for   each   obj   as   Control   in   me.Controls  
                  FindControl(obj)  
        next  
  end   sub  
   
  private   sub   FindControl(byval   objContainer   as   Control)  
        if   (objContainer   is   nothing)   orelse   objContainer.Controls.Count=0   Then  
              return  
        end   if  
        for   each   obj   as   Control   in   objContainer   .Controls     '把me改为objContainer    
                      FindControl(obj)  
        next  
  end   sub  
  Top

7 楼zhxiongying(雄鹰)回复于 2005-01-30 10:11:52 得分 0

谢谢龙桥人  
  上面的怎么改成只读取"TextBox"控件Top

8 楼wj2929(Rěй)回复于 2005-01-30 10:21:58 得分 0

foreach(Control   s   in   this.Controls)  
  {  
  if(s.GetType()==typeof(TextBox))  
  {  
  ((TextBox)s).Text   ="阿sdfads";               '这里  
  }  
  }  
  Top

9 楼zhxiongying(雄鹰)回复于 2005-01-30 14:21:04 得分 0

为什么"NumericUpDown1"控件读不出来Top

10 楼zhxiongying(雄鹰)回复于 2005-02-01 15:49:08 得分 0

为什么"NumericUpDown1"控件读不出来  
  Top

11 楼KissXYL(挚爱凝忆)回复于 2005-02-01 17:05:28 得分 0

upTop

12 楼zhxiongying(雄鹰)回复于 2005-02-01 22:48:49 得分 0

为什么"NumericUpDown1"控件读不出来Top

13 楼wj2929(Rěй)回复于 2005-02-01 23:04:16 得分 0

foreach(Control   s   in   this.Controls)  
  {  
  if(s.GetType()==typeof(TextBox))  
  {  
  ((TextBox)s).Text   ="wanmgj";  
  }  
  if(s.GetType()==typeof(NumericUpDown))  
  {  
  string   aa=((NumericUpDown)s).Value.ToString();//<--------这里得到  
  }  
  }  
  Top

14 楼luobin1111(蜗牛)回复于 2005-02-04 18:38:35 得分 0

form中有一个属性,直接读属性就是了~~~~~~Top

15 楼YanJieBing(小严)回复于 2005-02-05 00:14:47 得分 0

1.   必须使用递归,在VB中所有的控件都是直属于FORM的,在.NET里不是这样,控件都有自己的Controls集合。  
  2.   个人认为用   TypeOf   会比较好一些,如:  
                  If   TypeOf   childControl   Is   NumericUpDown   Then  
                          ...  
                  End   IfTop

16 楼chenyuming2004(这辈子我算是废了)回复于 2005-02-06 14:31:43 得分 0

http://blog.csdn.net/chenyuming2004/archive/2005/01/21/262479.aspx  
   
  看看上面的。Top

相关问题

  • 如何遍历主窗体MainForm中所有的Button控件?
  • delphi如何遍历窗体中的所有控件?
  • 在DILPHI中如何遍历窗体中所有的控件
  • 寻求遍历一个窗体所有控件的方法。
  • 如何遍历窗体上的所有控件!
  • 如何遍历窗体上所有的控件
  • 我想遍历窗体的所有checkbox控件,有什么方法吗?
  • 请问怎样遍历一个窗体上所有的EDIT控件?
  • 如何调用FindWindowEx 遍历一个窗体内的所有控件?
  • 遍历窗体所有控件——怎么判断某控件属于容器控件?

关键词

  • 控件
  • me
  • objcontainer
  • 遍历
  • nextend
  • findcontrol
  • controls
  • parentcontrol
  • sub
  • 所有

得分解答快速导航

  • 帖主:zhxiongying
  • longqiaoman

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo