首页 新闻 会员 周边

winform 查找组件

0
[已关闭问题] 关闭于 2010-12-13 11:57

winform中查找组件,如下写法,如果在派生类中写,则可以弹出对话框,但是写在基类中,比如在基类中这样写

 protected override void OnLoad(EventArgs e)
        {
            

oreach (System.ComponentModel.Component item in this.components.Components)
            {

                   MessageBox.Show(item.ToString());
            }

        }

则无反应.请问高手是什么原因,有何高招? 谢谢

查找组件:

foreach (System.ComponentModel.Component item in this.components.Components)
            {

                   MessageBox.Show(item.ToString());
            }

zhdw的主页 zhdw | 初学一级 | 园豆:0
提问于:2010-12-08 16:26
< >
分享
所有回答(3)
0

你能先看看this.components.Components的长度吗

tyb1222 | 园豆:259 (菜鸟二级) | 2010-12-08 20:40
跳楼
支持(0) 反对(0) zhdw | 园豆:0 (初学一级) | 2010-12-09 10:49
0

Onload中的异常会被忽略。所以你看不到效果,其实是父级的Onload事件已经抛错。你用断点进去,你会发现在遍历到子级部分的Components的时候Components是null的。而因为抛错被自动忽略了,所以你看不到任何效果。

BLoodMaster | 园豆:135 (初学一级) | 2010-12-09 13:33
请试试代码
支持(0) 反对(0) zhdw | 园豆:0 (初学一级) | 2010-12-09 15:09
0

原创企业级控件库之组合查询控件

发布日期:2010年12月10日星期五 作者:EricHu

http://www.cnblogs.com/huyong/archive/2010/12/10/1902714.html

.NET快速开发框架 | 园豆:946 (小虾三级) | 2010-12-11 23:34
原来你还没有搞清楚什么吗
支持(0) 反对(0) zhdw | 园豆:0 (初学一级) | 2010-12-13 11:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册