导入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.cs
和YourFormName.resx
)将被自动添加。
我的步骤:
- 创建WinForms项目(对我来说.NET框架是4)在VS2012(11.0.05727.1如果事项)
- 项目上右击 - >添加 - >现有项...
- 搜索任何带有控件的WinForm(我添加了两个在VS2010中为.NET Framework 4和3.5创建的表单)
- 对于两种情况,“Designer”都有一些延迟(约30-40秒)预计并加载所有已存在的控件/代码隐藏
只需包含cs文件,只需约wait
约一分钟。没有其他文件需要添加。 这将工作。
去project
>添加existing item
选择表单myform.cs
文件,然后单击add
按钮。这会将文件导入到您的项目中。
tnX ..它的工作原理。 – 2015-10-15 09:07:40
欢迎它也为我工作。 – NomanJaved 2016-04-19 04:18:22
嗯,请澄清“你应该只添加Form1.cs ...”?当创建一个新的Windows窗体应用程序时,Form1自动生成。我不管它... 当你添加你现有的表单时,你会搜索并选择哪个_files_?所有3个(即.cs,.designer.cs和.resx?)这就是我所做的。 我等待并等待,无论是0.4秒还是40秒,它都没有什么不同,我最终在解决方案资源管理器中看到3个文件条目,并且设计器不工作。 – Matthias 2013-02-25 09:29:15
'Form1.cs'只是一个表格强调的一般名称,您应该只添加'.cs'文件 - 而不是'.resx'或'.designer.cs'。将编辑我的答案,使其明确 – Nogard 2013-02-25 09:32:01
好吧,有你。如果我只是选择.cs,那么它就像你说的那样工作。绝对是与旧版本不同的行为。也许在以前的版本中,它也可以只导入cs,但如果选择了其他选项,它也会“原谅”。奇怪的是,它需要.designer.cs,这是所有重要的控制工具所在的地方。在查找要导入的文件时,它还在文件掩码中包含.resx(但如果实际执行操作,则会播放):-)我认为它已回答。谢谢Nogard。 – Matthias 2013-02-25 09:49:53