背景
有的项目中一些功能是可以复用的,将原始项目中的窗体文件添加到新项目时,发现有一些问题。添加完之后,打开的窗体发现没有显示任何控件,窗体的大小还变小了?
原始的添加操作
将Form1.cs Form1.resx Form1.Designer 三个文件直接复制到新项目的目录下,然后直接在新项目上选择添加现有项,添加完之后,你会发现它们是各自分离的(如右边展示的状态),是不是懵逼了?
正确的添加现有项
方法1:
1 把.cs和.Designer和*.resx三个文件复制到程序目录下(务必拷贝到目标目录下)
2 在VS里面添加现有项,选择 *.cs,其他文件不要选【切记只选这一个,其它两个不要选】
3 完成操作再打开窗口就可以了。或是退出工程,重新打开就可以了
4 注意如果有多个现有项.cs需要添加,请单独的一个一个的添加,先添加完Form1.cs ,再重复以上步骤添加Form2.cs.
5 如果当前添加的项是分离状态的,可选中当前项使用【从项目中排除】功能,再按上述步骤重新添加现有项,即可。
方法二
先备份一下项目的*.csproj文件,以防后续在上面修改导致无法打开。使用文本编辑器打开*.csproj文件,找到Compile
节点 属性值为Form1.Designer.cs,在该节点下增加一个DependentUpon
节点,属性值是上层文件的文件名
<DependentUpon>Form1.cs</DependentUpon>
保存后重新打开项目*.Designer.cs文件和*.resx文件就在.cs文件下了。
不仅仅是窗口文件,其它文件也可以使用这种方式添加文件结果,让文件结构之间内容的关系通过结构体现出来,可以让代码结构更加清晰。