删除Visual Studio 2010事件处理程序

时间:2013-02-16 00:10:27

标签: .net winforms visual-studio-2010 event-handling windows-forms-designer

我正在开发一个项目,我将所有控件都保留为默认名称,直到最近。在项目开始时多次,我不小心双击了一些东西,它为该控件创建了一个事件处理程序。当时我不知道如何删除它们,因为Ctrl + Z会撤消比我想要的更多。

我现在知道我可以在Events窗口的Properties部分查看和重构控件正在使用的事件。我主要修复了这些问题,但我有一个名为TabPage4_Click的函数,我找不到实际使用它的控件。我没有TabPage4了,此时我已经重命名了所有内容,并且我的标签页都没有使用这个事件处理程序,但如果删除它,我的应用程序将无法编译。

此时,我的表单上有太多的控件要逐一检查它们,以确定它们中是否有任何人正在使用此事件处理程序。我想知道是否有任何方法可以查看事件处理程序列表以及使用它们的控件。在Visual Studio 2010中是否有任何方法可以轻松跟踪当前使用事件处理程序的控件,以便在不创建任何冲突的情况下将其删除?

1 个答案:

答案 0 :(得分:2)

除了在表单上添加控件之外,请避免使用设计器。如果您在表单初始化时明确注册事件,您会发现事件和事件处理程序更容易管理:

void RegisterControlEvents()
{
    myButton.Click += MyClickHandler;
    ...
}

void MyClickHandler(object sender, EventArgs e)
{
    ...
}

很快你就会发现自己根本没有使用设计师......

关于死代码,删除它并尝试构建;如果有引用,VS将告诉您删除代码的位置/修复位置。

如果您正在寻找工具,我会说获得ReSharper演示。我认为没有别的东西比较(不,我不适用于JetBrains / ReSharper,它只是一个很棒的工具)。