导入Windows窗体(C#),Visual Studio 2012

问题描述:

试图将现有的Windows窗体添加到VS2012 WinForm项目,我去“Add/Existing item ...”,然后导入:MyForm.cs,MyForm.designer.cs, MyForm.resx导入Windows窗体(C#),Visual Studio 2012

这用于在早期版本的VS中工作。 (我可能必须调整命名空间)。

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

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

虽然我现在有一个解决方案,有人可以突出显示这些方法之间有什么区别,如果添加/现有项选项不起作用,那么在拖动文件时实际进行的是什么点?哪个文件(.csproj也许?)负责加入表单文件?因为它在VS的早期版本中可以同时使用,所以我认为这是一个错误?

谢谢。

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

假设您要导入名为YourFormName的表单。那么你应该只添加YourFormName.cs到项目 - 其余部分(YourFormName.designer.csYourFormName.resx)将被自动添加。

我的步骤:

  1. 创建WinForms项目(对我来说.NET框架是4)在VS2012(11.0.05727.1如果事项)
  2. 项目上右击 - >添加 - >现有项...
  3. 搜索任何带有控件的WinForm(我添加了两个在VS2010中为.NET Framework 4和3.5创建的表单)
  4. 对于两种情况,“Designer”都有一些延迟(约30-40秒)预计并加载所有已存在的控件/代码隐藏
+0

嗯,请澄清“你应该只添加Form1.cs ...”?当创建一个新的Windows窗体应用程序时,Form1自动生成。我不管它... 当你添加你现有的表单时,你会搜索并选择哪个_files_?所有3个(即.cs,.designer.cs和.resx?)这就是我所做的。 我等待并等待,无论是0.4秒还是40秒,它都没有什么不同,我最终在解决方案资源管理器中看到3个文件条目,并且设计器不工作。 – Matthias 2013-02-25 09:29:15

+0

'Form1.cs'只是一个表格强调的一般名称,您应该只添加'.cs'文件 - 而不是'.resx'或'.designer.cs'。将编辑我的答案,使其明确 – Nogard 2013-02-25 09:32:01

+0

好吧,有你。如果我只是选择.cs,那么它就像你说的那样工作。绝对是与旧版本不同的行为。也许在以前的版本中,它也可以只导入cs,但如果选择了其他选项,它也会“原谅”。奇怪的是,它需要.designer.cs,这是所有重要的控制工具所在的地方。在查找要导入的文件时,它还在文件掩码中包含.resx(但如果实际执行操作,则会播放):-)我认为它已回答。谢谢Nogard。 – Matthias 2013-02-25 09:49:53

只需包含cs文件,只需约wait约一分钟。没有其他文件需要添加。 这将工作。

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

+1

tnX ..它的工作原理。 – 2015-10-15 09:07:40

+0

欢迎它也为我工作。 – NomanJaved 2016-04-19 04:18:22