在設計時將自定義控件添加到容器的時候,自定義控件會運行構造方法和Load()方法的代碼.有些代碼並不是預期想要在設計時運行的,例如訪問到一些未初始記的對象,這時候就會出錯.因爲需要在代碼裏判斷當前是否是設計時,如果是設計時,則代碼不運行.
- if (this.Site != null && this.DesignMode)
- {
- //設計時
- }
- else
- {
- //運行時
- }
代碼只能放在Load()方法裏,因爲要構造方法中 Site 和 DesignMode 可能未正確初始化,導致錯誤結果.