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

这曾经在VS的早期版本中起作用。 (我可能不得不调整 namespace 。)

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

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

当我现在有了一个解决方案时,有人可以强调一下这两种方法之间的区别吗,如果添加/现有项选项不起作用,那么有什么意义呢?拖动文件时实际上又是什么呢?哪个文件(也许是.csproj?)负责加入表单文件?因为它在VS的早期版本中都可以工作,所以我可以认为这是一个错误吗?

谢谢。

最佳答案

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

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

我的步骤:

  • 在VS2012中创建WinForms项目(以我为例,.Net Framework为4)(如果需要的话,为11.0.05727.1)。
  • 右键单击项目->添加->现有项...
  • 搜索带有控件的WinForm(我在VS2010中为.NET Framework 4和3.5添加了两个表单)
  • 稍有延迟(大约30-40秒),在两种情况下,“Designer”均按预期方式工作并加载了
  • 后面的所有现有控件/代码

    关于c# - 导入Windows窗体(C#),Visual Studio 2012,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15062782/

    10-13 05:44