在Visual Studio 2008(C#)中复制表单

在Visual Studio 2008(C#)中复制表单,c#,winforms,visual-studio-2008,duplication,C#,Winforms,Visual Studio 2008,Duplication,我在现有项目中有一个表单 我当前的任务是复制现有表单,并在新表单上更改一些内容。制作表单cs文件的副本是不行的,因为现有内容本身引用文件信息 简单地说,我正在尝试包装一个表单名MyNewForm,它将是MyCurrentForm的直接副本,而不会导致仅仅复制粘贴代码内容时可能出现的任何命名冲突 我能做到这一点的最快方法是什么?您只需添加一个新的空白表单,然后选择原始表单上的所有项目并将其粘贴到新表单上。但这不会将代码复制到后面。但这也可以通过复制粘贴来解决 这不会导致任何重命名冲突。为什么需要复

我在现有项目中有一个表单

我当前的任务是复制现有表单,并在新表单上更改一些内容。制作表单cs文件的副本是不行的,因为现有内容本身引用文件信息

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


我能做到这一点的最快方法是什么?

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


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

为什么需要复制表单?尝试寻找一些可以帮助您的重构,例如,创建一些基本表单并提取其中的公共逻辑

每次你做一个复制品,小猫就死了

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

要复制表单(在同一项目中),请执行以下操作:

  • 右键单击源窗体-->复制
  • 右键单击目标文件夹/项目-->粘贴
  • 右键单击新表单-->重命名
  • 手动更改.cs中的类名
  • 手动更改.cs中的构造函数名称
  • 在.Designer.cs中手动更改类名

  • 享受吧

    实际上,有几个文件与表单关联。编辑这些文件将是一项拖拉和错误的任务。通常在VS中重命名文件也会重命名相关文件(.designer等),特别是如果它们是VS首先生成的类型。第二次复制粘贴不会导致某种冲突。对于我们中的一些人来说,丢失一只小猫是一种激励,不是威慑。如何在Visual Studio解决方案资源管理器中创建此副本?我尝试了复制粘贴,但是旧文件名被替换了,并且存在某种冲突。@Gunner:我没有看到任何冲突。我只需右键单击->复制,然后右键单击相应的文件夹->粘贴。如果文件位于同一文件夹中,它将创建“Form1副本”,并相应重命名所有相关文件名。谢谢。这对我很有效。我忽略了新创建的文件。@Gunner:没问题。祝你好运。我还建议重命名.cs和.Designer.cs文件中对前一个类的所有引用。我认为手动查找替换比重构更好,因为重构可能会破坏对原始类的引用。