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());
}
你能先看看this.components.Components的长度吗
Onload中的异常会被忽略。所以你看不到效果,其实是父级的Onload事件已经抛错。你用断点进去,你会发现在遍历到子级部分的Components的时候Components是null的。而因为抛错被自动忽略了,所以你看不到任何效果。
原创企业级控件库之组合查询控件
发布日期:2010年12月10日星期五 作者:EricHu
http://www.cnblogs.com/huyong/archive/2010/12/10/1902714.html