如何合并Winform视觉继承树

问题描述

| 我有4个WinForm应用程序。 Form1从baseForm继承,Formv2从Formv1继承,v3从v2继承,v4从v3继承。大约有2000个控件分布在包含选项卡的许多选项卡中。 这确实杀死了Visual Studio 2008,经常导致它崩溃,并且总体上来说还很糟糕。 我想创建一个FormV5,它仅继承自baseForm,但包含formv1到v4的所有可视布局(全部),(baseForm上没有控件)。 表单之间的差异主要是添加新的控件,一些旧的控件必须移动或隐藏,或者在此处或此处更改了一些标签。 谁能建议以编程方式做到这一点?就像在formV4上使用反射或运行时某种方式生成代码(转储formV4控件,布局和属性)的某种方式一样,我可以剪切并粘贴到formV5.designer.vb.file中吗? (请注意,这是一个大约有5年历史的企业项目,每次进行更改时,我们都需要将其推销给所有客户(医院)。我们没有自动化测试或单元测试,因此我一定要得到这个对 :) ) 谢谢乔纳森 合并所有实际的Formlogic虚拟成员,应该可以手动管理。     

解决方法

        如果从Form1到Form2到Form 3到Form 4的布局大部分是累加的(添加新控件),而不是很多其他操作(更改很多现有控件),则我将其分离如下: 将所有全局窗体设置(如背景色等-而不是子控件的布局)放在基本窗体中。根据您的描述,听起来这已经在baseForm中。 将所有Formv1的子控件的布局放在UserControl中。此UserControl将充当以前在窗体上的所有控件的容器。 制作第二个从第一个UserControl继承的UserControl。根据需要添加新控件。 制作从第二个UserControl继承的第三个UserControl。根据需要添加新控件。 制作从第三个UserControl继承的第四个UserControl。根据需要添加新控件。 制作一个从baseForm继承并具有第一个UserControl的Form1。 制作一个从baseForm继承并具有第二个UserControl的Form2。 制作一个从baseForm继承并具有第三个UserControl的Form3。 创建一个继承自baseForm并具有第四个UserControl的Form4。 这种想法的优点是,您可以将基本表单上的设置更改为您的心脏内容(默认字体,默认前景色等),同时通过使用UserControls逐步更改控件的布局。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...