我想将Form::initializeComponent()
方法分成许多方法。即,创建选项卡1的方法,创建选项卡2并在Form::initializeComponent()
内调用这些方法的方法。我这样做是为了使代码更易于管理和阅读 - 更容易跳转到createTab3()并找出最新的内容而不是搜索数百行代码来查找tab3的创建。
示例:
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()
内。
我是否仍然可以在createTab1()
内使用方法initializeComponent()
,让设计师工作,而不是让我的发布.exe崩溃?
或者我是否必须将所有代码放在initializeComponent()
内?也许这是告诉VS2010方法createTab1()
应该在'设计模式'中执行的方法吗?
答案 0 :(得分:0)
虽然您可以向InitializeComponent方法添加代码,但建议您不要因为每次更改设计器中的UI而重新生成。
也许您可以将代码移动到form_load方法中,或者甚至在调用InitializeComponent之后,如果您想编写自己的代码来创建控件,否则如果您使用设计器,则保留代码自动生成的代码。< / p>