Entwickler-Ecke

Basistechnologien - klick in WebbrowserControl


felix96 - Mo 24.10.11 22:59
Titel: klick in WebbrowserControl
Hallo.
(Falls das hier das falsche Forum ist bitte verschieben!)

Ich würde gerne die Mausposition beim Klick im Webbrowsercontrol haben.
Beispiel:
Benutzer Klickt in Webbrowser1
Programm liest die Höhe/Breite des Documents im Webbrowser.
Programm liest die Mausposition.
Programm schreibt Mausposition in % in ein Label.

Ich hoffe das ist verständlich ;-)

Hier mal mein bisheriger Code:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            mshtml.HTMLDocument doc;
            doc = (mshtml.HTMLDocument)this.webBrowser1.Document;// <-- Fehler

            mshtml.HTMLDocumentEvents2_Event iEvent;

            iEvent = (mshtml.HTMLDocumentEvents2_Event)doc;// F2
            iEvent.onclick += new mshtml.HTMLDocumentEvents2_onclickEventHandler(ClickEventHandler);
            iEvent.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(MouseOverEventHandler);
        }

In der Zeile wo Fehler steht kommt folgender:
Fehler 1 Eine Konvertierung vom Typ "System.Windows.Forms.HtmlDocument" in "mshtml.HTMLDocument" ist nicht möglich.

Wenn ich statt mshtml.HTMLDocument System.Windows.Forms.HtmlDocument verwende kommt in der Zeile F2 folgender Fehler:
Fehler 1 Eine Konvertierung vom Typ "System.Windows.Forms.HtmlDocument" in "mshtml.HTMLDocumentEvents2_Event" ist nicht möglich.

Danke für's lesen


bogus2k - Di 25.10.11 10:02

Ich bin mir nicht sicher, aber muss es nicht

doc = (mshtml.HtmlDocument)this.webBrowser1.Document;// <-- Fehler

heißen? Also statt HTMLDocument -> HtmlDocument verwenden!


felix96 - Di 25.10.11 11:37

Ich löse diese Problem mittlerweile mit JS-Injection :-)