Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > WebBrowser переприсвоить другому WebBrowser.


Автор: Bladerender 11.5.2014, 20:06
Задача такая. В отдельной форме (Форма2), которая открывается ShowDialog() есть визуальный обычный компонент WebBrowser. 
В этом WebBrowser открывается страница входа на сайт. Я ввожу туда логин и пароль и нажимаю войти. 

Задача в том, что после того, как вход выполнится, я должен закрыть эту Форму2, а этот "Войденный браузер" оставить себе, потому что когда он войденный, 
я могу на него отправлять разные ссылки и они будут открываться. А на невойденном браузере будет ругаться на отсутствие права доступа.

Что я делаю. На Форме1 у меня есть невизуальный 
public WebBrowserWithCridentials;

Я создаю 
Form2 form2 = new Form2 (Form1);
Form2..ShowDialog();


Браузер загружает то что я хочу, я воожу логин/пароль и нажимаю войти. 
 Дожидаюсь, пока на ФОрме2 у браузера срабатывает DocumentCompleted
{
Form1.WebBrowserWithCridentials = this.WebBrowser;
this.Close();
}



Но вот беда:
1. Когда срабатывает закрытие формы2, то какого-то открывается виндовый Internet Explorer и пытается открыть тот линк, который я грузил на Форме2. Я его этого не просил )))
2. И еще большая беда.  На ФОрме1 в  WebBrowserWithCridentials у нас null;  Ничиво нипанимаю. "Доступ к ликвидированному объекту невозможен."

Спасибо.

Автор: Bladerender 11.5.2014, 21:56
1. Перед закрытием нужно сделать webBrowser.url = new URL("about:blank"),
2. Это не нужно делать. В пределах приложения у всех веб-браузеров один кеш. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)