在Windows應用程序中,從現有的窗體繼承,查看子窗體的設計視圖時,會出現錯誤:
服務容器中已存在服務 System.Windows.Forms.Design.IEventHandlerService。參數名: serviceType
或出現錯誤:未將對象引用設置到對象的實例。
解決方法:
把父窗體中Form_Load事件里所有代碼都放在!DesignMode里,即
private void Form_Load(...)
{
if(!DesignMode)
{
//代碼放在這兒
}
}
如果父窗體的構造方法中也有自己寫的代碼,也得放if(!DesignMode)里。
然后重新生成項目,即可看到子窗體的設計視圖。
繼承過來的子窗體,窗體上的控件都處在鎖定狀態,如果要編輯,需要在控件的屬性面板中把控件的Modifiers屬性改成public。
