我曾尝试在VS 2017中复制并粘贴C#表单,我需要包含代码,但在Visual Studio中重命名表单后,它只显示为C#代码而不是表单。它编译没有任何错误,但我无法编辑表单。
我尝试在资源管理器中复制粘贴重命名所有3个文件,然后将它们包含在项目中并显示“show all files”,并将表单仅作为c#代码文件而不是表单广告到项目中
答案 0 :(得分:1)
要理解它创建一个新项目并通常添加Form1和Form2。然后将另一个表单(我们将其命名为form3).cs,.designer.cs和.resx文件复制粘贴到项目中。现在转到Windows资源管理器中的项目,然后在文本编辑器中打开PROJECT.csproj文件。你会看到:
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Form2.Designer.cs">
<DependentUpon>Form2.cs</DependentUpon>
</Compile>
<Compile Include="Form3.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form3.Designer.cs" />
如您所见,我们对Form3.Designer.cs
与Form3没有任何依赖关系。
我们也有:
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form2.resx">
<DependentUpon>Form2.cs</DependentUpon>
</EmbeddedResource>
这取决于.resx文件到它们的形式,但我们没有它用于Form3。
要拥有普通的Form3,您必须将其更改为与Form1和Form2完全相同。 但正如quetzalcoatl所说,最好创建新表单并仅复制/粘贴所需表单的内容。
更新:
作为一种简单的方法,您可以首先通过以下方式在项目中创建Form3(复制/粘贴表单):
添加 - &gt;新物品
现在您已经拥有.csproj文件中所需的一切,而且无需编辑。然后将 windows explorer 中的3个文件.cs .designer.cs和.resx复制/替换为您的项目。