Winforms - Визуально удалить событие нажатия кнопки - PullRequest
16 голосов
/ 02 мая 2010

.NET оповещение новичка

Использование Visual C # 2008 Express Edition Я случайно создал событие нажатия кнопки. Затем я удалил автоматически созданный код метода, что привело к ошибке, в которой говорилось, что функция, на которую теперь есть ссылка в коде загрузки формы, больше не может быть найдена.

Удаление следующей строки из функции InitializeComponent() файла Form1.Designer.cs ...

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 ]

34 голосов
/ 02 мая 2010

Вы должны быть осторожны при работе с файлами designer.cs, но вам не нужно зацикливаться на этом (когда я совершаю ту же ошибку, проще исправить файл designer.cs). Вы можете сделать это визуально так:

  1. Откройте форму в конструкторе форм.
  2. В конструкторе форм, нажмите кнопку интереса.
  3. Нажмите F4 (или щелкните правой кнопкой мыши и выберите Свойства). Панель свойств должна появиться.
  4. В верхней части панели свойств щелкните значок молнии. Это показывает события для кнопки.
  5. Найдите событие клика и очистите его обработчик.
2 голосов
/ 02 мая 2010

Хорошо, я обычно выступаю за использование notepad2 или другого текстового редактора для выполнения задач кодирования.

Но, поскольку вы спрашиваете, как это сделать в Designer ...

  1. Откройте форму, в которой ошибочное событие было добавлено в элемент управления.
  2. Выберите элемент управления.
  3. Щелкните правой кнопкой мыши, выберите «Свойства».
  4. Измените на «События», выбрав кнопку со значком молнии.
  5. Выберите событие, которое нужно удалить.
  6. После помещения мыши в поле, в котором отображается имя метода обработчика событий, удалите весь текст в этом поле и нажмите клавишу ввода. Это удалит обработчик события и назначение делегата для этого события в вашем элементе управления.

Единственное предостережение: если вы хотите сохранить свой метод обработчика событий (т. Е. Он не генерируется автоматически в Visual Studio) - вам, вероятно, следует избегать удаления назначения таким образом. Потому что, когда я говорю, что он удаляет обработчик событий - я должен сказать, что объявление метода обработчика событий в «Form1.cs» (например) также будет удалено.

...