.net 如何在删除winform控件时阻止Visual Studio删除事件处理程序

.net 如何在删除winform控件时阻止Visual Studio删除事件处理程序,.net,vb.net,winforms,visual-studio,.net,Vb.net,Winforms,Visual Studio,我正在用120多个winforms重新设计一个桌面应用程序。正如您所料,这需要相当长的时间。有一件事让我慢下来,那就是当我把旧控件换成新控件时。如果我删除旧控件,所有事件处理程序都将被删除,因此我必须重命名新控件,然后再将它们添加回 这种行为绝对有道理,但我想知道是否可以关闭它,如果可以,如何关闭?如果我只需要在设计器中工作,而不是在代码中来回切换,那么我的生活就会轻松得多。感谢您的帮助或建议。它会“解除”处理程序(删除句柄…部分),这样您最终就不会有多个处理程序了。由于代码块仍然存在,因此可以

我正在用120多个winforms重新设计一个桌面应用程序。正如您所料,这需要相当长的时间。有一件事让我慢下来,那就是当我把旧控件换成新控件时。如果我删除旧控件,所有事件处理程序都将被删除,因此我必须重命名新控件,然后再将它们添加回

这种行为绝对有道理,但我想知道是否可以关闭它,如果可以,如何关闭?如果我只需要在设计器中工作,而不是在代码中来回切换,那么我的生活就会轻松得多。感谢您的帮助或建议。

它会“解除”处理程序(删除
句柄…
部分),这样您最终就不会有多个处理程序了。由于代码块仍然存在,因此可以从IDE将控件关联到现有事件块:

切换到事件视图

在属性窗格/窗口中,单击闪电以显示事件:

选择现有事件

具有与所需事件匹配的签名的方法(在本例中为
发送者作为对象,e作为EventArgs
)将显示在下拉列表中,供您选择

在这种情况下,仅因为签名匹配,它就包括
表单加载
。通过双击事件名称,可以从此处创建新的事件处理程序


如果在表单设计器/IDE上选择多个控件,然后创建一个新事件(或选择一个现有事件),则所选控件将连接到单个处理程序。

如果将属性窗口的视图从属性更改为事件(单击闪电螺栓)您可以从列表顶部的限定现有事件中进行选择,并将它们连接起来。这是一个很大的帮助,我仍然希望能够关闭自动删除功能,但这一小部分信息至少让我不必来回查看太多。谢谢与其替换控件,不如更新它(假设它们是相同类型的)。您可以轻松地使用反射将控件上的属性复制到另一个控件上。我只需将所有表单代码复制到记事本文件中,直到完成交换,然后将其粘贴回,修复所有错误的签名。