我有4个WinForm应用程序。 Form1继承自baseForm,Formv2继承自Formv1,v3继承自v2,v4继承自v3。大约有两千个控件分布在包含选项卡的许多选项卡中。
这实际上是在杀死Visual Studio 2008,经常导致它崩溃,而且一般情况下表现糟糕。
我想创建一个仅从baseForm继承的FormV5,但包含formsv1到v4(所有这些)的所有可视布局,(baseForm上没有控件)。
从表单到表单的差异主要是添加新的控件,一些旧的控件必须被移动或隐藏,或者在这里和那里更改了一些标签。
有人能建议采用编程方式吗?就像在formV4上运行时使用反射或某些东西来生成代码(dump formV4控件,布局和属性)一样,我可以剪切并粘贴到formV5.designer.vb.file中吗?
(注意,这是一个大约5年的企业项目,每次我们进行更改时,我们都需要将其推送给所有客户(医院)。我们没有自动化测试或单元测试,所以我有点儿得到这个权利:))
感谢乔纳森
合并所有实际的formlogic虚拟成员,应该可以手动管理。
答案 0 :(得分:0)
如果从Form1到Form2到Form3到Form4的布局主要是加法(添加新控件)并且不是很多其他操作(更改了大量现有控件),我会将其分开如下:
将所有全局表单设置(如backcolor等 - 而不是子控件的布局)放在基本表单中。根据您的描述,听起来这已经在 baseForm 。
将Formv1的所有子控件的布局放在UserControl中。此UserControl将充当之前在表单上的所有控件的容器。
这个想法的优点是你可以将基本表单上的设置更改为心脏的内容(默认字体,默认前景色等),同时通过使用UserControls逐步更改控件的布局