在设计时将自定义控件添加到容器的时候,自定义控件会运行构造方法和Load()方法的代码.有些代码并不是预期想要在设计时运行的,例如访问到一些未初始记的对象,这时候就会出错.因为需要在代码里判断当前是否是设计时,如果是设计时,则代码不运行.
- if (this.Site != null && this.DesignMode)
- {
- //设计时
- }
- else
- {
- //运行时
- }
代码只能放在Load()方法里,因为要构造方法中 Site 和 DesignMode 可能未正确初始化,导致错误结果.
转载于:https://blog.51cto.com/chenwan/499720