最近做东西太多的需要动态生成控件,以及控件的定位,为了方便我都是先把控件全部添加到窗体,然后再根据控件的Visible属性来确定控件位置。而这个过程我是在窗体类的构造函数里进行的,运行起来根本就不是我想象的!Why?做了个测试:
在窗体类的构造函数里加入如下语句
1
foreach(Control ctrl in this.Controls)
2

{
3
Console.WriteLine(ctrl.Visible);
4
}

2



3

4

this.checkBox1.Checked = this.textBox1.Visible,没有问题!确实是选中的!把这句话再移到Form的构造函数,没有选中!
看来控件的属性真正起作用是在Form.Load事件中进行的。
窗体类的构造函数和Form.Load事件效果不一样!