2010-04-09 102 views
1

我試圖將一個單獨的電機控制應用程序更新爲控制未知數量的電機(在運行時添加電機控制)的程序。舊的應用程序非常靜態地編寫,並依靠Windows窗體設計器來生成其視圖。我試圖重構設計器代碼,基本上只是在一個Tab頁面中顯示多個出現。我已經遇到Windows窗體設計師的錯誤。當我嘗試和拉組件的初始化伸到自己的方法,我得到一個錯誤:重構Windows窗體設計器代碼

Method 'System.Windows.Forms.Form.InitializeForceIsMaintained' not found. 

我如何告訴C#我要使用本地方法,而不是某些遺傳方法?

我打電話InitializeForceIsMaintained像這樣

private Void InitializeComponent() 
{ 
    this.InitializeForceIsMaintained(); 
} 

private void InitializeForceIsMaintained() 
     { 
      // 
      // forceIsMaintained 
      // 
      this.forceIsMaintained.AutoReset = false; 
      this.forceIsMaintained.Interval = 8000; 
      this.forceIsMaintained.SynchronizingObject = this; 
      this.forceIsMaintained.Elapsed += this.forceIsMaintained_Elapsed; 
     } 
+0

隨着代碼呈現(假設1類),應該不會發生錯誤。請顯示更完整的大綱。 – 2010-04-09 15:32:58

+0

你應該從未改變自己的* one *方法是InitializeComponent()。它由設計師自動生成。 – 2010-04-09 16:18:40

回答

1

不理解完整的問題,但不應該將設計器代碼修改爲其生成的代碼,因此您只會丟失更改或破壞設計器。

+0

優秀點:設計師代碼*看起來像C#,但不應該被編輯或修改,因爲可視化設計器*解析代碼以便進行編輯。這更像是一個非常奇怪的序列化格式,碰巧也是可編譯的。 – Bevan 2010-04-10 04:50:02

0

你可以繼承System.Windows.Forms.Form中你的對象,然後覆蓋問題的方法是什麼?然後它會選擇使用你的而不是Forms.Form類中的默認值。