如何在Visual Studio中轻松复制Windows窗体?

时间:2009-08-12 20:38:25

标签: winforms visual-studio

如何在Visual Studio中轻松复制C#/ VB表单?如果我复制&粘贴在解决方案资源管理器中,它在内部使用相同的类并搞砸了。你怎么做呢?

15 个答案:

答案 0 :(得分:38)

我通常会复制Windows资源管理器中的文件,在记事本/写字板中打开它们,只需在顶部更改一个类名称。在项目中包含这些文件,你就可以了。

答案 1 :(得分:18)

  1. 复制并粘贴表单。
  2. 重命名粘贴的表单.cs以匹配新的表单类名称。这应该自动重命名其他相关文件。
  3. 打开.cs文件。更改类名称以及构造函数和析构函数的名称。
  4. 打开.Designer.cs文件并更改班级名称。
  5. 额外信用:

    1. 考虑将表单中的常用功能抽象为通用表单或控件。

答案 2 :(得分:5)

没有问题的安全方法是制作表单的模板 您可以在同一个项目或任何其他项目中使用它。并且您可以非常轻松地添加它,例如添加新表单。以下是制作模板

的方法

1- 文件菜单单击导出模板

2-选择模板类型(选择项目模板),然后单击下一步

3 - 检查表单您要为其制作模板,然后单击下一步两次

4 - 重命名模板,然后(根据描述,选择图标图像,如果需要,预览图像)

完成5次点击

现在您可以添加新项目并在任何项目中选择模板

答案 3 :(得分:3)

首先,如果您使用剪切和粘贴复制了大量表单,请考虑为表单(或表单类别)实现共享/通用功能或外观和外观的公共基类。感受元素。您还可以为满足需求的新表单创建模板,并从该模板创建新表单。

就个人而言,我只是剪切并粘贴,然后修复任何挥之不去的名称错误。由于我提取了常用功能,我没有感到足够的痛苦寻找更好的方法; - )

答案 4 :(得分:3)

  1. 在项目中添加子文件夹。
  2. 右键单击子文件夹,然后单击“添加现有项目”。
  3. 浏览到要复制的表单,然后选择其.cs文件。这将复制子文件夹中的原始表单(partial和resx以及all)。该名称不会与原始名称冲突,因为子文件夹将包含在其名称空间中。
  4. 右键单击.cs文件,单击“重构”|重命名并输入新名称。这也将为您重命名部分和resx。
  5. 我通常不喜欢这样做的方法,包括在记事本或其他方面打开文件,因为我一直认为像这样的常见任务应该有一种内置的方式在Visual Studio中完成它。在这种情况下,有。

答案 5 :(得分:2)

  1. 右键单击表单 - >复制课程
  2. enter image description here

    1. 右键单击目标文件夹和粘贴类
    2. enter image description here

      1. 重命名新表单,并声明重命名此类的所有引用。
      2. enter image description here

答案 6 :(得分:1)

自从vb6以来,我一直在使用另一种复制表单的方式。

  1. 文件菜单/ SE - 将CurrentForm.cs另存为 - NewForm.cs
  2. 在“属性”窗口中将其名称更改为NewForm。
  3. 在解决方案资源管理器中 - 添加现有项目 - CurrentForm.cs
  4. 通常采用MDI格式(引用CurrentForm) - CurrentFormToolStripMenuItem_Click事件 - 将引用更改回CurrentForm(在步骤1中自动更改为NewForm)。
  5. 欢迎评论。

答案 7 :(得分:1)

如果您在VS 2019中工作,请花几分钟来创建项目模板-这是一个完美的解决方案。 How to: Create item templates

不确定它是否适用于VS的早期版本。

答案 8 :(得分:0)

只需重命名设计师引用的类。

但更好的解决方案是在运行时创建同一个类的新实例。

或者更好的是,创建一个各种实现继承的父表单。

答案 9 :(得分:0)

1.在项目中添加一个新文件夹

2.将表格复制到

3.更改属性中的名称以及更改文件名

4.检查每个表格的姓名(它们不应该相同)

答案 10 :(得分:0)

(在我的其他帖子中复制了这个答案,以防有人在这里寻找这个解决方案)

使用VS2013刚刚对此进行了测试,看起来可靠且一致。这类似于上面的一些评论,但增加了另一种更快的方法。

(第1个)在Windows文件资源管理器中,突出显示并复制所有3个表单文件(.vb或.cs,.designer,.resx)

(第二)这可以通过两种方式实现:

(2a-1)在文件浏览器中,将3个文件粘贴到包含其他表单的项目文件夹中

(2a-2)在VS解决方案资源管理器中,转动显示所有文件'在,右键单击粘贴的表格& '包括在项目'。它应该没有其他变化。

或者,我认为更好:

(2b-1)在VS中,单击解决方案资源管理器并粘贴w / Control-C。 (由于某种原因,解决方案资源管理器中的右键单击上下文菜单可能不会显示粘贴选项,但它可以通过键盘进行操作。)此方法可以直接将表单添加到项目中,而无需“包括在项目中”#39;如上。使用此方法,您可以在一个步骤中一次添加任意数量的表单(每个表单的所有3个文件)。

答案 11 :(得分:0)

真的很容易。 "在设计模式中FORM" (form1.cs [Design])复制整个Form" ctrl A"然后ctrl C.所有对象一次。然后将新的窗体表单添加到项目中。将表单的大小更改为您想要的大小然后粘贴ctrl V将所有新对象复制到新表单。当他们仍然被选中时双击任何对象。不是形式!!! .....这将在表单一侧创建与您刚刚粘贴的对象匹配的代码。如果它没有,你可以双击每个对象,它将一次创建一个代码。我使用文本框区域双击,几乎每次都有效。 我每天使用这种方法工作很棒。

答案 12 :(得分:0)

  • 保存所有项目
  • 右键单击解决方案资源管理器(SE),“复制”
  • 右键单击SE中的项目名称(这是第一行),“粘贴”。它将创建一个“副本..... vb”表格
  • 在SE中右键单击此新表单,“查看代码”,并将其类名更改为您要用于表单的名称
  • 左键单击SE中的新表单并重写其名称,即您在类名中使用的名称(以及最后的.vb)
  • 构建 - 如果没有错误,你就赢了! :)

答案 13 :(得分:0)

  1. 按“Ctrl”并拖动鼠标以复制现有的表单类文件。
  2. 然后从项目中排除现有的表单类文件。
  3. 重命名新的表单类文件。转到后面的代码,重命名类名 及其相关参考资料。
  4. 重新包含项目以前存在的表单类文件
  5. 完成

答案 14 :(得分:-1)

继承表单!