Winforms - 可视化删除按钮单击事件

时间:2010-05-01 22:40:37

标签: c# winforms events visual-studio-express

.NET新手提醒

使用Visual C#2008 Express Edition我不小心为按钮创建了一个click事件。然后我删除了自动创建的方法代码,这导致了一个错误,说明现在已经在表单加载代码中引用的函数无法再找到。

Form1.Designer.cs文件的InitializeComponent()功能...

中删除以下行
this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);

...似乎可以解决这个问题,然而,由于#region开头有以下警告,它让我觉得非常脏:

/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.

我无法使用表单设计器找到这样做的方法,我认为这是此警告隐含的方法。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:33)

在designer.cs文件中工作时必须要小心,但是你不必为此感到肮脏(当我犯同样的错误时,更容易修复designer.cs文件)。你可以这样看待它:

  1. 在表单设计器中打开表单。
  2. 在表单设计器中,单击感兴趣的按钮。
  3. 按F4(或右键单击按钮,然后单击属性)。应显示属性窗格。
  4. 在属性窗格的顶部,单击闪电。这显示按钮的事件。
  5. 找到点击事件并清除其处理程序。

答案 1 :(得分:2)

好的,我通常是主张使用notepad2或其他文本编辑器来执行编码任务的人。

但是,既然您在Designer中询问如何这样做......

  1. 打开将错误事件添加到控件的表单。
  2. 选择控件。
  3. 右键单击,选择“属性”。
  4. 通过选择带有发光螺栓图标的按钮,切换到“事件”。
  5. 选择您需要删除的活动。
  6. 将鼠标放在显示事件处理程序方法名称的框中后,删除该框中的所有文本并按Enter键。这将删除控件上此事件的事件处理程序和委托分配。
  7. 唯一需要注意的是:如果您希望保留事件处理程序方法(即,它不是由Visual Studio自动生成的) - 您可能希望避免以这种方式删除分配。因为当我说它删除事件处理程序时 - 我应该说“Form1.cs”(例如)中的事件处理程序方法的声明也将被删除。