Mam poważny problem - chcę zrobić tak, aby po kliknięciu na jakiś link w WebBrowser nie pojawiał się ie, tylko np. otwierało się w tym samym oknie.
Czy tak da się zrobić?
Jak to zrobić?
Mam poważny problem - chcę zrobić tak, aby po kliknięciu na jakiś link w WebBrowser nie pojawiał się ie, tylko np. otwierało się w tym samym oknie.
Czy tak da się zrobić?
Jak to zrobić?
Pewno się da, skoro to normalne zachowanie tej kontrolki.
No tak, ale jak, panie wszechwiedzący?
WebBrowser ma takie zdarzenie jak NewWindow, pokombinuj.
No, tylko własnie nie wiem jak zrobić, aby się otwierało w przeglądarce(nie wiem jak wywołać link).
http://dotnetninja.wordpress.com/2008/02/26/prevent-opening-new-window-from-webbrowser-control/
w tym przykładzie zamień tą linijke:
var.AttachEventHandler("onclick", LinkClicked);
na tą:
var.Click += new HtmlElementEventHandler(LinkClicked);
dzięki temu po naciśnięciu "prawym->otwórz w nowym oknie" strona nie otworzy się w IE tylko w twoim webbrowserze
Znalazłem już artykuł który był akurat w C++, ale go sobie przetłumaczyłem i wszystko działa dobrze. Oto ten kod:
e.Cancel = true;
HtmlElement link = webBrowser4.Document.ActiveElement;
String url = link.GetAttribute("href");
webBrowser4.Navigate(url);