2008-10-20 4 views
1

В моем приложении C# есть встроенный веб-браузер, что стало возможным благодаря классу System.Windows.Forms.WebBrowser. Пользователи могут перемещаться по веб-сайтам с помощью приложения, однако, когда они сталкиваются со страницей, содержащей всплывающее окно, всплывающее окно открывается Internet Explorer.Любопытное всплывающее поведение при использовании класса WebBrowser

Кто-нибудь знает, как подавить это поведение?

ПРИМЕЧАНИЕ: Я новичок в C#, поэтому, пожалуйста, учтите это при ответе.

ответ

4

Вы хотите активно блокировать всплывающие окна или обрабатывать их в приложении? Если вы хотите настроить блокировку, тогда вам нужно будет реализовать DWebBrowserEvents2 interface, в частности NewWindow3 method. Метод NewWindow3 имеет специальную функциональность для блокировки всплывающих окон (т. Е. Установки параметра Отмена на значение true). Эти методы также позволят вам показать свое окно, если хотите, хотя вам придется предоставить свою собственную форму для размещения еще одного WebBrowser.

Если вы хотите увидеть какой-то реальный исходный код C#, обеспечивающий расширенные функции с помощью элемента управления WebBrowser, я должен сказать, что this article on CodeProject предоставил почти все, что я знаю о элементе управления WebBrowser. Обязательно загрузите источник!

@Kramii правильно, что вы также можете использовать событие NewWindow2, чтобы предотвратить всплывающее окно. NewWindow3 предоставляет дополнительные параметры, если вы хотите проверить URL-адрес или другие данные о переходе на фактический блок иногда и иногда обрабатывать всплывающее окно.

Смежные вопросы