2010-05-01 18 views
14

.NET新手警报的WinForms - 视觉删除按钮单击事件

使用Visual C#2008 Express Edition的我不小心创造了点击一个按钮事件。然后,我删除了自动创建的方法代码,导致出现错误,指出现在在表单加载代码中引用的函数不能再找到。

删除从Form1.Designer.cs文件的InitializeComponent()功能下面一行...

this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click); 

...似乎这样的伎俩,但是,它让我觉得是因为在年初以下警告很脏在#地区:

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

我一直没能找到一种方法来做到这一点使用表单设计器,我认为是这样的警告暗示的手段。什么是正确的方法来做到这一点?

+0

有时我只是从代码中删除,没有区别,如果你知道你在做什么 – 2010-05-01 22:47:40

回答

30

在使用designer.cs文件时,您一定要小心,但您不必为此感到肮脏(当我犯同样的错误时,修复它的designer.cs文件更容易)。你可以这样做:

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

完美,谢谢! – 2010-05-01 22:48:37

+2

@Wayne Koorts:没问题,总是乐于帮忙:) – 2010-05-01 22:52:13

2

好的,我通常提倡使用记事本2或其他文本编辑器来执行编码任务。

但是,既然你问如何在设计这样做......

  1. 打开其中加入控件的错误事件的形式。
  2. 选择控件。
  3. 右键单击,选择“属性”。
  4. 通过选择具有照明螺栓图标的按钮,更改为“事件”。
  5. 选择您需要移除的事件。
  6. 将鼠标放在显示事件处理程序方法名称的框中后,删除该框中的所有文本,然后按Enter键。这将删除您的控件上该事件的事件处理程序和委托分配。

唯一需要注意的是:如果您希望保留您的事件处理程序方法(即,它不是由Visual Studio自动生成的) - 您可能希望避免以这种方式删除分配。因为当我说它删除事件处理程序时 - 我应该说在“Form1.cs”(例如)中的事件处理程序方法的声明也将被删除。

+0

好吧,我是一个tard。在我开始打字之前,我没有刷新。 贾森Punyon已经说过一样。我会留下我的回复,因为我认为你应该知道,如果你这样做 - 你将删除事件处理程序(没有警告)。 我给贾森+1,但我没有代表;-) – EtherealMonkey 2010-05-02 01:20:08

+1

它并没有删除我的实际功能,这实际上让我感到惊讶。 – 2010-05-02 04:58:42

+0

它只删除空的方法,这是有道理的。 – 2016-05-15 11:08:26