Winforms生成事件并删除处理程序

时间:2009-03-02 05:38:32

标签: .net winforms events

在创建表单窗口时,通常会出现添加特定事件和编译程序的情况。但是后来您意识到事件并非真正需要,因此请删除事件。 现在,当您再次编译代码时,会显示错误。 例如,在我写的代码中: WindowsAplication1.LanMessenger不包含'textBox1_click'的定义。

很明显,我在之前编译过一次后删除了事件textBox1_click。 有没有办法可以避免这种情况,因为当你知道实际上没有问题时它确实会让人感到恼火。 请帮忙。

2 个答案:

答案 0 :(得分:4)

您需要查看MyFormName.Designer.cs并查找设置特定控件属性的区域。您应该注意到以下效果的一行:

this.textBox1.Click += new EventHandler(textBox1_click);

您需要删除此行并保存文件。

请注意,这些被认为是设计师生成的事件,您可以做的是在构造函数(调用InitializeComponent之后)或Form_Load中为控件连接自己的事件您也可以在构造函数中设置的事件。这种方法很好,因为你有清晰的控制能力,能够确切地看到设置了什么样的处理程序。

答案 1 :(得分:2)

避免错误的最简洁方法是执行以下操作

  1. 导航到设计器中的事件并清除处理程序
  2. 删除实际的事件代码。
  3. 在VS 2005 / VS 2008中没有一个步骤可以删除事件和事件连接。我个人会这样做,因为我发现它更快

    1. 删除事件处理程序
    2. 要构建的CTRL-B(这将在事件连接位置生成构建错误
    3. ALT-F7切换到错误列表
    4. 向下转到第一个错误
    5. 输入导航到事件连接
    6. 删除该行。
    7. 如果您使用ViEmu,这是一个非常快速的进展:)