我想將我的Form::initializeComponent()
方法分離成許多方法。即,創建選項卡1的方法,創建選項卡2並在Form::initializeComponent()
內調用這些方法的方法。我這樣做是爲了讓代碼更易於管理和可讀 - 它更容易跳到createTab3()並找出發生了什麼,而不是搜索數百行代碼來查找tab3的創建。InitialiseComponent中的方法導致設計器和運行時錯誤
例子:
private void InitializeComponent()
{
// Default form creation and initialisation code here
createTab1();
createTab2();
createTab3();
// Show form code here
}
我的問題:的設計師,我無法查看我的對話 - 我得到一個錯誤說The variable tab1 is either undeclared or was never assigned
。那是因爲該代碼發生在createTab1()
。我也無法運行我的Release build .exe,它崩潰了。如果我將createTab1()
(和所有其他選項卡方法)中的所有代碼放入initializeComponent()
之內,那麼發行版.exe運行良好。所以崩潰是由createTab1()
代碼不直接在initializeComponent()
內引起的。
有沒有一種方法,我仍然可以在initializeComponent()
裏面有方法createTab1()
並且讓設計師工作,並且不會讓我的發行版崩潰?
或者我必須將我所有的代碼放在initializeComponent()
之內嗎?也許這是一種告訴VS2010,方法createTab1()
應該在「設計模式」中執行還是什麼?