【问题标题】:Importing Windows Forms (C#), Visual Studio 2012导入 Windows 窗体 (C#),Visual Studio 2012
【发布时间】:2013-02-25 08:23:00
【问题描述】:

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

这曾经在早期版本的 VS 中工作。 (我可能需要调整命名空间。)

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

但是,当我将相同的文件拖放到项目中(调整/重命名命名空间)时,表单文件彼此正确关联,并且设计器可以正常打开表单。

虽然我现在有一个解决方案,但有人可以强调这些方法之间的区别吗?如果添加/现有项选项不起作用,那么它的意义何在,以及拖动文件时实际发生了什么?哪个文件(也许是 .csproj?)负责加入表单文件?因为它在早期版本的 VS 中可以双向工作,我可以认为这是一个错误吗?

谢谢。

【问题讨论】:

    标签: c# winforms import visual-studio-2012 windows-forms-designer


    【解决方案1】:

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

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

    我的步骤:

    1. 在 VS2012 中创建 WinForms 项目(在我的情况下是 .Net Framework 为 4)(如果重要,则为 11.0.05727.1)
    2. 右键单击项目 -> 添加 -> 现有项目...
    3. 搜索任何带有控件的 WinForm(我添加了两个在 VS2010 中为 .NET framework 4 和 3.5 创建的表单)
    4. 有一些延迟(大约 30-40 秒),对于这两种情况,“Designer”都按预期工作并加载了所有现有的控件/代码隐藏

    【讨论】:

    • 嗯,请澄清“您应该只添加 Form1.cs...”??创建新的 Windows 窗体应用程序时会自动生成 Form1。我不理会它...当您添加现有表单时,您会搜索和选择哪些文件?所有 3 个(即 .cs、.designer.cs 和 .resx?)这就是我所做的。我等了又等,无论是 0.4 秒还是 40 秒都没有区别,我最终在解决方案资源管理器中看到 3 个文件条目,而设计器无法正常工作。
    • Form1.cs 只是下划线的表单的通​​用名称,您应该只添加 .cs 文件 - 而不是 .resx.designer.cs。将编辑我的答案以使其清楚
    • 好的,知道了。如果我只选择 .cs ,那么它就像你说的那样工作。绝对是与旧版本不同的行为。也许在以前的版本中,它也可以只导入cs,但如果一个人也选择了其他人,它就会“原谅”。奇怪的是,它需要 .designer.cs,这是所有重要控制内容所在的地方。在查找要导入的文件时,它还在文件掩码中包含 .resx (但如果你真的这样做了 :-) 我认为它已经回答了。谢谢诺加德。
    • 虽然这很好用——而且我已经提高了它,或者不管动词是什么——我不明白怎么做! CS 文件不包含任何将控件添加到表单的代码。大概您需要同一文件夹中的设计器文件?很奇怪。
    • 注意:这一次只能使用一个表单。选择多个 Forms .cs 文件会导致它忽略 Designer.cs 和 .resx 文件。
    【解决方案2】:

    只需包含 cs 文件和 wait 大约分钟。无需添加其他文件。 这将起作用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多