尝试将现有的Windows窗体添加到VS 2012 WinForm项目中,我转到“添加/现有项...”,然后导入:我的表单. cs、我的表单.设计器. cs、我的表单.resx
这在VS的早期版本中是有效的。(我可能需要调整命名空间。)
在VS 2012中,MyForm.designer.cs和MyForm.resx现在不与设计器中的窗体关联;也就是说,它们在解决方案资源管理器中显示为单独的文件条目,而不是嵌套在MyForm下。双击MyForm将显示一个空窗体(没有控件),并且没有错误消息。项目编译并运行正常。
但是,当我将相同的文件拖放到项目中(调整/重命名命名空间)时,窗体文件彼此正确关联,设计器可以很好地打开窗体。
虽然我现在有了一个解决方案,但有人能强调一下这两种方法之间的区别吗?如果"添加/现有项“选项不起作用,它有什么意义?拖动文件时实际发生了什么?哪个文件(可能是.csproj?)负责连接表单文件?因为它在VS的早期版本中可以双向工作,我是否可以认为这是一个bug?
- 谢谢-谢谢
3条答案
按热度按时间sczxawaw1#
已尝试重现您的问题-但未成功。
假设您要导入一个名为
YourFormName
的表单。那么您只需要将YourFormName.cs
添加到项目中,其余部分(YourFormName.designer.cs
和YourFormName.resx
)将自动添加。我的步骤:
1.在VS 2012中创建WinForms项目(在我的情况下,.Net Framework是4)(如果重要,请使用11.0.05727.1)
1.右键单击项目-〉添加-〉现有项...
1.搜索任何带有控件的WinForm(我添加了在VS2010中为.NET Framework 4和3.5创建的两个窗体)
1.有一些延迟(大约30-40秒),对于这两种情况,“Designer”按预期工作,并加载所有现有控件/代码隐藏
g6ll5ycj2#
只要包含cs文件和
wait
大约分钟。没有其他文件需要添加。这将工作。进入
project
〉addexisting item
选择myform.cs
的文件,然后点击add
按钮。这将把文件导入到你的项目中。jq6vz3qz3#
若要汇入表单,请只将Form.cs加入至项目,而不要将Form.designer.cs和Form.resx加入至项目,因为它们是为您建立的,会导致表单无法运作。
以鼠标器右击按一下[方案浏览]中的[项目],然后按一下[加入],再按一下[现有项目]。寻找要加入的Form. cs表单,一次加入一个Form. cs。
对于窗体加载和更改命名空间,通常会有一些延迟。