Redirect веб-браузера WinForms перенаправляет всплывающие окна в другой веб-браузер WinForms с данными формы - PullRequest
2 голосов
/ 23 июня 2009

У меня есть веб-браузер c #, и одна из отображаемых страниц имеет форму. Когда форма отправлена, она отправляет данные в новое окно в IE. Я хочу перехватить эти данные и переслать их в другой веб-браузер C #, который есть в моем приложении. Поэтому я не хочу, чтобы он открывал браузер IE, когда вызывается функция JavaScript window.open, я хочу, чтобы он открывал его во втором окне браузера.

Ответы [ 3 ]

1 голос
/ 23 июня 2009

Обратите внимание на изменения, которые я сделал в теме. Там нет такого понятия, как веб-браузер C #.

Вы используете элемент управления веб-браузера Windows Forms в программе на C #. Вы хотите получать уведомления при создании новых окон, чтобы можно было создать другую форму Windows Forms для отображения другого элемента управления веб-браузера, содержащего новое содержимое.

1 голос
/ 23 июня 2009

Вы не можете сделать это напрямую с WebBrowser, потому что он не дает вам URL-адрес в eventargs события NewWindow, но есть решение здесь , унаследовав элемент управления WebBrowser и добавив новое событие, которое даст Вы URL. Тогда вам просто нужно отменить навигацию (со свойством Cancel события) и указать новый URL в другом браузере.


Редактировать

Хорошо, тогда вам придется проделать большую ручную работу, сначала запретив новое окно, а затем получив событие отправки в форме, подобной этой:

private void webBrowser1_DocumentCompleted(object sender,
                   WebBrowserDocumentCompletedEventArgs e)
{
  webBrowser1.Document.Forms[0].AttachEventHandler("onsubmit",
                                      new EventHandler(submit));
}

private void submit(object o, EventArgs e) {...}

И выполните всю обработку в методе submit, но вам нужно будет просмотреть элементы документа, чтобы извлечь все значения записей и опубликовать их вручную в другом элементе управления веб-браузера.

Возможно, вам также придется изменить html-код атрибута onSubmit формы, чтобы не открывать новое окно, так как остановить его открытие будет нелегко.

0 голосов
/ 28 мая 2010

Я нашел этот пост полезным при работе с похожей проблемой: CodeProject - MultiTab Browser

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