我想将我的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()
应该在“设计模式”中执行还是什么?