WinForm窗體繼承


在Windows應用程序中,從現有的窗體繼承,查看子窗體的設計視圖時,會出現錯誤:

服務容器中已存在服務 System.Windows.Forms.Design.IEventHandlerService。參數名: serviceType 

或出現錯誤:未將對象引用設置到對象的實例。

解決方法:

把父窗體中Form_Load事件里所有代碼都放在!DesignMode里,即

private void Form_Load(...)
{
  if(!DesignMode)
  {
    //代碼放在這兒
  }
}

如果父窗體的構造方法中也有自己寫的代碼,也得放if(!DesignMode)里。

然后重新生成項目,即可看到子窗體的設計視圖。

繼承過來的子窗體,窗體上的控件都處在鎖定狀態,如果要編輯,需要在控件的屬性面板中把控件的Modifiers屬性改成public。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM