【问题标题】:Making a duplicate of a form in Visual Studio 2008 (C#)在 Visual Studio 2008 (C#) 中复制表单
【发布时间】:2011-05-03 09:56:08
【问题描述】:

我的现有项目中有一个表单。

我当前的任务是复制现有表单并在新表单上更改一些内容。由于现有内容本身引用文件信息,因此无法复制表单 cs 文件。

简单地说,我正在尝试创建一个名为 MyNewForm 的表单,它将是 MyCurrentForm 的直接副本,而不会导致任何可能在仅复制粘贴代码内容时出现的命名冲突。

我能实现这一目标的最快方法是什么?

【问题讨论】:

  • 实际上有几个文件与一个表单相关联。编辑这些文件将是一项拖累和错误的任务。
  • 通常在 VS 中重命名文件也会重命名相关文件(.designer 等),特别是如果它们是 VS 开始生成的类型。

标签: c# winforms visual-studio-2008 duplication


【解决方案1】:

在 Visual Studio 解决方案资源管理器中复制表单。重命名它。并且在 .cs 和 .Designer.cs 文件中手动更改类名。不要使用 VS 重构功能,因为它会破坏对原始类的引用。

【讨论】:

  • 如何在 Visual Studio 解决方案资源管理器中制作此副本?我尝试复制粘贴,但旧文件名被替换,并且存在某种冲突。
  • @Gunner:我没有看到任何冲突。我只需右键单击->复制并右键单击相应的文件夹->粘贴。如果文件在同一个文件夹中,它会创建“Form1 副本”,并将所有相关文件名适当地重命名。
  • 谢谢。这对我有用。我忽略了新创建的文件。
  • @Gunner:没问题。祝你好运。
  • 我还建议重命名 .cs 和 .Designer.cs 文件中对前一个类的所有引用。我认为手动查找替换比重构更好,因为重构可能会消除对原始类的引用。
【解决方案2】:

复制一个表单(在同一个项目中):

  1. 右键单击源表单 --> 复制
  2. 右键单击目标文件夹/项目 --> 粘贴
  3. 右键单击新表单 --> 重命名
  4. 手动更改.cs中的类名
  5. 手动更改.cs中的构造函数名称
  6. 手动更改 .Designer.cs 中的类名

享受吧!

【讨论】:

    【解决方案3】:

    为什么需要复制表格?尝试找到一些可以帮助您的重构,例如创建一些基本形式并在那里提取通用逻辑。
    每次你复制小猫都会死!

    【讨论】:

    • 对于我们中的一些人来说,失去一只小猫是激励,而不是威慑。
    【解决方案4】:

    您可以只添加一个新的空白表单,然后选择原始表单上的所有项目并将它们粘贴到新表单上。不过,这不会复制后面的代码。但这也可以通过复制粘贴来解决。

    这不会导致任何重命名冲突。

    【讨论】:

    • 第二次复制粘贴不会引起某种冲突。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多