winforms Visual Studio 2012中的Windows窗体(C#)

mepcadol  于 2022-11-17  发布在  Windows
关注(0)|答案(3)|浏览(256)

尝试将现有的Windows窗体添加到VS 2012 WinForm项目中,我转到“添加/现有项...”,然后导入:我的表单. cs、我的表单.设计器. cs、我的表单.resx
这在VS的早期版本中是有效的。(我可能需要调整命名空间。)
在VS 2012中,MyForm.designer.cs和MyForm.resx现在不与设计器中的窗体关联;也就是说,它们在解决方案资源管理器中显示为单独的文件条目,而不是嵌套在MyForm下。双击MyForm将显示一个空窗体(没有控件),并且没有错误消息。项目编译并运行正常。
但是,当我将相同的文件拖放到项目中(调整/重命名命名空间)时,窗体文件彼此正确关联,设计器可以很好地打开窗体。
虽然我现在有了一个解决方案,但有人能强调一下这两种方法之间的区别吗?如果"添加/现有项“选项不起作用,它有什么意义?拖动文件时实际发生了什么?哪个文件(可能是.csproj?)负责连接表单文件?因为它在VS的早期版本中可以双向工作,我是否可以认为这是一个bug?

  • 谢谢-谢谢
sczxawaw

sczxawaw1#

已尝试重现您的问题-但未成功。
假设您要导入一个名为YourFormName的表单。那么您只需要将YourFormName.cs添加到项目中,其余部分(YourFormName.designer.csYourFormName.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”按预期工作,并加载所有现有控件/代码隐藏

g6ll5ycj

g6ll5ycj2#

只要包含cs文件和wait大约分钟。没有其他文件需要添加。这将工作。
进入project〉add existing item选择myform.cs的文件,然后点击add按钮。这将把文件导入到你的项目中。

jq6vz3qz

jq6vz3qz3#

若要汇入表单,请只将Form.cs加入至项目,而不要将Form.designer.cs和Form.resx加入至项目,因为它们是为您建立的,会导致表单无法运作。
以鼠标器右击按一下[方案浏览]中的[项目],然后按一下[加入],再按一下[现有项目]。寻找要加入的Form. cs表单,一次加入一个Form. cs。
对于窗体加载和更改命名空间,通常会有一些延迟。

相关问题