在Visual Studio中删除未使用的C#代码

7

在Windows表单上工作时,我不小心点击了按钮,现在我有与此点击事件相关的代码部分。我不需要它们,我想从代码中删除这些部分,但是如果我这样做,Visual Studio在编译时会抱怨因为它正在寻找缺失的代码。如何摆脱代码中未使用的点击事件?


2
当Visual Studio出现此错误时,它是否指的是特定的代码行(可能在设计文件中)?转到该代码行并删除对已删除事件处理程序的引用。 - David
6
如果您不仅仅想要删除该语句而采取简单的方式,那么请返回“属性”窗口,点击闪电图标,右键单击事件并选择“重置”。 - Hans Passant
谢谢,正如建议的那样,我只需要删除对已删除事件处理程序的引用。现在它似乎工作得很好。谢谢大家。 - opt
你可以通过在属性窗口的事件列中点击并按下删除键来删除它。只有在其为空的情况下才能执行此操作。 - Simon Whitehead
可能是Winforms - 可视化删除按钮单击事件的重复问题。 - StayOnTarget
2个回答

11
当你双击控件时,将会默认连接到该控件的事件,并且一个存根处理程序将为您创建。存根处理程序是您看到并删除的。
private void button1_Click(object sender, EventArgs e)
{
}

另外一个部分是事件的实际绑定过程。这就是编译错误的原因所在。你删除了事件处理程序,但没有移除事件订阅。

可以在特定窗体附带的Designer.cs文件中找到此内容。

private void InitializeComponent()
{
    this.button1 = new System.Windows.Forms.Button();
    this.SuspendLayout();
    // 
    // button1
    // 
    this.button1.Name = "button1";

    //This is the line that has the compile error.
    this.button1.Click += new System.EventHandler(this.button1_Click);
}

如评论中所提到的,您可以转到该控件的事件属性并重置事件,但您也可以进入设计器并删除无效的行。使用 Reset 命令将删除存根和事件订阅。


2

这里有另一种解决方案:

  1. 进入属性(按F4键),然后进入事件。
  2. 选择不需要的事件,然后右键单击事件图标。
  3. 点击“重置”按钮,自动从designer.cs中删除它。
  4. 在.cs文件中手动删除它。
注:Original Answer翻译成"最初的回答"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接