当我需要重新排列控件按钮的位置时,我使用复制/剪切和粘贴,但我失去了事件的关联,需要手动重新分配。
有没有办法在不丢失它们的情况下做到这一点?
例如,我剪下一个按钮并将其粘贴到别处。它已经关联了 bt_ClickEventFunction,但是在粘贴它时,它会丢失它。
当我需要重新排列控件按钮的位置时,我使用复制/剪切和粘贴,但我失去了事件的关联,需要手动重新分配。
有没有办法在不丢失它们的情况下做到这一点?
例如,我剪下一个按钮并将其粘贴到别处。它已经关联了 bt_ClickEventFunction,但是在粘贴它时,它会丢失它。
您可以将它们拖到表单上以更改它们的位置,您不需要对它们进行粘贴和粘贴。
Copy&Paste 使用新名称和 Text 创建另一个控件,而 Cut&Paste 从设计器中删除所有内容,然后按原样重新生成控件,但没有用于添加事件的行。我认为这是因为事件处理程序的代码位于设计器创建的文件之外的文件中,并且当您剪切控件时,事件处理程序不会从代码中删除,因为它也可以是其他一些控件的事件处理程序. 因此,在粘贴时,设计器实际上只创建了新控件,就像您从工具箱中拖动它时一样,而是从已剪切的控件中设置属性。
编辑根据您的评论进行编辑。您甚至可以使用 TabPages 进行拖放。您需要将其拖动为带有箭头的小矩形,如图所示:
并且您可以将它拖到另一个 TabControl,在这种情况下,TabPage 将保留所有“关联”事件处理程序。
要将所有事件过程恢复到各自的控件,请转到窗体的 VBA 代码窗口,然后剪切、复制和粘贴整个模块。您可以按 Ctrl+A、Ctrl+X 和 Ctrl+V 来执行此操作。