Winforms сгенерированные события и удаление обработчиков - PullRequest
0 голосов
/ 02 марта 2009

При создании окон формы часто возникают ситуации, когда добавляется определенное событие и программа компилируется. Однако позже вы понимаете, что событие на самом деле не требуется, и поэтому удалите событие. Теперь, когда вы компилируете код снова, отображается ошибка. Например, в коде я написал: WindowsAplication1.LanMessenger не содержит определения для textBox1_click.

Очевидно, что я удалил событие textBox1_click после его компиляции один раз. Есть ли способ, которого можно избежать, потому что это раздражает прикосновения, когда вы знаете, что на самом деле нет проблем ... Пожалуйста, помогите.

Ответы [ 2 ]

4 голосов
/ 02 марта 2009

Вам нужно заглянуть в MyFormName.Designer.cs и найти область, где установлены ваши конкретные свойства элементов управления. Вы должны заметить строку с эффектом:

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

Вам необходимо удалить эту строку и сохранить файл.

Просто обратите внимание, они считаются событиями, сгенерированными дизайнером, и вы можете подключить свои собственные события для элементов управления в конструкторе (после вызова InitializeComponent) или в событии Form_Load, которое вы можете также настройка в конструкторе. Этот метод хорош тем, что у вас есть четкий контроль и возможность видеть, какие именно обработчики установлены.

2 голосов
/ 02 марта 2009

Самый простой способ избежать ошибки - это сделать следующее

  1. Перейдите к событию в конструкторе и очистите обработчик
  2. Удалить фактический код события.

В VS 2005 / VS 2008 не существует одношагового способа удаления как события, так и подключения к событию. Лично я делаю следующее, потому что считаю, что это быстрее

  1. Удалить обработчик события
  2. CTRL-B для сборки (это приведет к ошибке сборки в месте подключения события
  3. ALT-F7 для переключения на список ошибок
  4. Вниз, чтобы добраться до первой ошибки
  5. Ввод приводит к подключению к событию
  6. Удалить строку.

Это действительно быстрый прогресс, если вы используете ViEmu:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...