Как отменить привязку обработчика DocumentComplete? - PullRequest
0 голосов
/ 26 октября 2011

У меня есть следующий код:

webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Action1);
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Action2);

Работает просто отлично.

Но они, похоже, срабатывают каждый раз, когда скачивается любая страница. Хотя я хочу, чтобы они срабатывали только один раз для каждой страницы. Скажите Action1 для Page1, Action2 для Page2 и т. Д.

Я пытался добавить пустой обработчик, как это:

void StopDoingStuff(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    Application.DoEvents();
}

Но, похоже, C # запускает это как третий обработчик для события DocumentComplete, поэтому он фактически не останавливает другие два.

Вы знаете, как это исправить?

1 Ответ

2 голосов
/ 26 октября 2011

Чтобы отписаться от события, используйте следующий синтаксис:

webBrowser1.DocumentCompleted -= Action2

Вот объяснение MSDN: http://msdn.microsoft.com/en-us/library/ms366768(v=VS.100).aspx

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