C# 复制控件时如何复制与控件关联的事件?

C# 复制控件时如何复制与控件关联的事件?,c#,winforms,visual-studio-2010,C#,Winforms,Visual Studio 2010,当我需要重新安排控件按钮的位置时,我使用复制/剪切和粘贴,但我失去了事件的关联,需要手动重新分配 有没有办法做到这一点而不失去他们 例如,我剪下一个按钮并粘贴到其他地方。 它已关联bt_ClickEvent功能,但粘贴时,它会丢失此功能。您可以在表单上拖动它们以更改它们的位置,而无需cur&paste 复制和粘贴创建另一个具有新名称和文本的控件,而剪切和粘贴删除设计器中的所有内容,然后按原样重新生成控件,但没有用于添加事件的行。我假定这是因为事件处理程序的代码位于设计器创建的文件之外的文件中,并

当我需要重新安排控件按钮的位置时,我使用复制/剪切和粘贴,但我失去了事件的关联,需要手动重新分配

有没有办法做到这一点而不失去他们

例如,我剪下一个按钮并粘贴到其他地方。
它已关联bt_ClickEvent功能,但粘贴时,它会丢失此功能。

您可以在表单上拖动它们以更改它们的位置,而无需cur&paste

复制和粘贴创建另一个具有新名称和文本的控件,而剪切和粘贴删除设计器中的所有内容,然后按原样重新生成控件,但没有用于添加事件的行。我假定这是因为事件处理程序的代码位于设计器创建的文件之外的文件中,并且在剪切控件时,事件处理程序不会从代码中删除,因为它也可以是其他控件的事件处理程序。因此,粘贴时,设计器实际上只会创建新控件,就像从工具箱拖动控件时一样,但会从已剪切的控件设置属性

编辑根据您的评论进行编辑。 即使使用TabPages,也可以进行拖放操作。您需要将其拖动到带有箭头的小矩形上,如图所示:

您可以将它拖到另一个TabControl,在这种情况下,TabPage将保留所有“关联”的事件处理程序。

要将所有事件过程恢复到各自的控件,请转到窗体的VBA代码窗口,然后剪切、复制和粘贴整个模块。您可以按Ctrl+A、Ctrl+X和Ctrl+V来执行此操作。

这次的问题是将选项卡移动到选项卡控件中,将它们从某个选项卡控件更改为另一个选项卡控件。。。或者其他一些很难用拖放来完成的事情,甚至通过临时使窗体超大来腾出更多的空间。您可以进行拖动,很简单,首先从TabPage中将控件拖动到窗体,更改TabPage并将其拖动到所选TabPage中的位置。我想将TabPage从其tabcontrol移动到另一个tabcontrol。我不能做这个拖拉,这对我不起作用或者不知道怎么做。。。更准确地说,对于另一个tabcontrol,它位于第一个tabcontrol的另一个tabpage子控件的内部…请检查编辑。如您所见,您几乎可以拖放任何控件。Visual Studio是一个强大的工具。谢谢。这很难做到。。。我添加了一个tabcontrol,就像您在右边的一样,将其用作桥接,同时更改左边的tab,将tabcontrol上的tab插入到第一个tabpage的另一个tabpage中。。。