C# 添加现有的窗体的时候,为何窗体的控件不显示了?

背景

有的项目中一些功能是可以复用的,将原始项目中的窗体文件添加到新项目时,发现有一些问题。添加完之后,打开的窗体发现没有显示任何控件,窗体的大小还变小了?

原始的添加操作

将Form1.cs Form1.resx Form1.Designer 三个文件直接复制到新项目的目录下,然后直接在新项目上选择添加现有项,添加完之后,你会发现它们是各自分离的(如右边展示的状态),是不是懵逼了?
C# 添加现有的窗体的时候,为何窗体的控件不显示了?_第1张图片

C# 添加现有的窗体的时候,为何窗体的控件不显示了?_第2张图片

正确的添加现有项

方法1:

1 把.cs和.Designer和*.resx三个文件复制到程序目录下(务必拷贝到目标目录下)
2 在VS里面添加现有项,选择 *.cs,其他文件不要选【切记只选这一个,其它两个不要选】
3 完成操作再打开窗口就可以了。或是退出工程,重新打开就可以了
4 注意如果有多个现有项.cs需要添加,请单独的一个一个的添加,先添加完Form1.cs ,再重复以上步骤添加Form2.cs.
5 如果当前添加的项是分离状态的,可选中当前项使用【从项目中排除】功能,再按上述步骤重新添加现有项,即可。

C# 添加现有的窗体的时候,为何窗体的控件不显示了?_第3张图片

方法二

先备份一下项目的*.csproj文件,以防后续在上面修改导致无法打开。使用文本编辑器打开*.csproj文件,找到Compile节点 属性值为Form1.Designer.cs,在该节点下增加一个DependentUpon节点,属性值是上层文件的文件名

 <DependentUpon>Form1.csDependentUpon>

C# 添加现有的窗体的时候,为何窗体的控件不显示了?_第4张图片
保存后重新打开项目*.Designer.cs文件和*.resx文件就在.cs文件下了。
不仅仅是窗口文件,其它文件也可以使用这种方式添加文件结果,让文件结构之间内容的关系通过结构体现出来,可以让代码结构更加清晰。

你可能感兴趣的:(C#,c#,开发语言,窗体)