16

试图将现有的 Windows 表单添加到 VS2012 WinForm 项目中,我去“添加/现有项目...”然后导入:MyForm.cs、MyForm.designer.cs、MyForm.resx

这曾经在早期版本的 VS 中工作。(我可能需要调整命名空间。)

在 VS2012 中,MyForm.designer.cs 和 MyForm.resx 现在与设计器无关的表单;即它们在解决方案资源管理器中显示为单独的文件条目,而不是嵌套在 MyForm 下。双击 MyForm 会显示一个没有错误消息的空表单(无控件)。该项目编译并运行正常。

但是,当我将相同的文件拖放到项目中(调整/重命名命名空间)时,表单文件彼此正确关联,并且设计器可以很好地打开表单。

虽然我现在有一个解决方案,但有人可以强调这些方法之间有什么区别,如果添加/现有项目选项不起作用,那么它有什么意义,以及拖动文件时实际发生了什么?哪个文件(也许是 .csproj?)负责加入表单文件?因为它在早期版本的 VS 中都是双向的,我可以假设这是一个错误吗?

谢谢。

4

2 回答 2

27

试图重现您的问题 - 没有成功。

假设您要导入一个名为YourFormName. 然后您应该只添加YourFormName.cs到项目中 - 其余部分 (YourFormName.designer.csYourFormName.resx) 将自动添加。

我的步骤:

  1. 在 VS2012 中创建 WinForms 项目(在我的情况下为 .Net Framework 为 4)(如果重要,则为 11.0.05727.1)
  2. 右键单击项目 -> 添加 -> 现有项目...
  3. 搜索任何带有控件的 WinForm(我添加了在 VS2010 中为 .NET framework 4 和 3.5 创建的两个表单)
  4. 有一些延迟(大约 30-40 秒),对于这两种情况,“设计师”都按预期工作并加载了所有现有的控件/代码隐藏
于 2013-02-25T09:23:01.413 回答
4

只需包含 cs 文件,只需wait大约 mintue。无需添加其他文件。这将起作用。

转到project> 添加existing item 选择表单myform.cs文件,然后单击add按钮。这将在您的项目中导入文件。

于 2015-01-15T13:40:52.697 回答