Autor: Tuenhai.com MSN: King#Tuenhai.com
Copyright -Erklärung: Sie können es nach Belieben nachdenken. Bitte geben Sie beim Nachdruck die ursprüngliche Quelle des Artikels, die Autoreninformationen und diese Erklärung in Form eines Hyperlinks an.
http://www.tuenhai.com/
Entwicklungswerkzeuge: Microsoft Visual Studio .net 2003
Betriebssystem: Windows XP
Originaltext: http://www.devx.com/vb2themax/tip/18798
Wie bei anderen Steuerelementen können wir Webbrowser -Steuerung verwenden, um Windows -Formularanwendungen zu erstellen. Wählen Sie die Windows -Form -Steuergruppe aus der Toolbox aus, klicken Sie auf "Microsoft Webbrowser" und verwenden Sie das Aximp.exe -Tool im Hintergrund, um ein ActiveX -Steuerelement mit dem Namen "AxWebrowser" zu erstellen. In VB.NET können COM -Komponenten nicht direkt verwendet werden. com sind alle nicht verwaltete Codes. Wenn Sie diese Komponenten in VB.NET verwenden, müssen Sie die Konvertierung vom nicht verwalteten Code in den verwalteten Code abschließen.
Im Allgemeinen können Sie die ursprüngliche Webbrowser -Steuerung verwenden, z. B. Anrufmethode, Eigenschaften angeben, Ereignisse fangen usw.
Einige Dinge sind nicht so einfach. Wir möchten Seitenereignisse erfassen, z. B. wenn der Benutzer auf ein Seitenelement (z. B. den Hintergrund) klickt, löst er das Onclick -Ereignis des Seitenelements aus. Wenn das Ereignis nicht gefangen wird, muss die DHTML -Ebene bis zur höchsten Ebene des Dokumentobjekts aktualisiert werden. Auf diese Weise können wir jedes Ereignis erfassen. In VB6 können wir einfach WebBrowser.document mit dem Keyword mit dem Engagement -Keyword angeben.
In VB.NET funktioniert diese einfache Methode nicht mehr. Da das ActiveX -Steuerelement zwei Schnittstellen erstellt, wird in beiden Schnittstellen der gleiche Methodenname verwendet, was zu einem Laufzeitfehler führt. Sie müssen also die vom Dokumentobjekt verwendete Schnittstelle angeben und ein Ereignishandling -Handling erstellen (hehe, Tuenhai ist gut übersetzt).
Hier ist der Beispielcode:
'Wichtig: Dieser Code geht davon aus, dass Sie einen Verweis auf die hinzugefügt haben
'Microsoft HTML -Objektbibliotheksbibliothek Bibliothek
private subform1_load (Byval -Absender als System.Object, _
BYVAL E AS SYSTEM.EventArgs) behandelt MyBase.load
AxWebrowser1.Navigate ("http: //localhost/default.asp")
Ende sub
private sub axweser1_navigateComplete2 (Byval -Absender als Objekt, _
Byval e asxshdocvw.dwebbrowserevents2_navigateComplete2Event) Handles _
Axwebrowser1.NavigateComplete2
'Muss warten, bis dieses Ereignis einen gültigen Verweis auf das Dokument erfasst
' Eigentum
Dim doc as mShtml.htmldocument = DirectCast (AxwebBrowser1.Document, _
mShtml.htmldocument)
'Gießen Sie an die Schnittstelle, die das Ereignis definiert, an dem Sie interessiert sind
Dim Dokumente als mshtml.htmldocumentEvent2_event = DirectCast (DOC, _
mShtml.htmldocumentEvents2_event)
'Definieren Sie einen Handler für das Onclick -Ereignis
addHandler documents.onclick, addressof onclickproc
Ende sub
Beachten Sie, dass die Unterschrift dieses Ereignisses von gewöhnlich unterscheidet, wie es
Es wird erwartet
'Mit dem Ereignis (zum Beispiel auf eine andere Seite springen, wenn der Klick auf ist
'Ein Hyperlink) wird abgesagt.
Private Funktion OnclickProc (Byval OBJ als mshtml.ihtmlleventObj) als booleschen
'Ein Objekt auf der Seite wurde geklickt - Sie können mehr darüber erfahren
'Typ und Position dieses Objekts, indem die Eigenschaften des OBJ abfragen
'...
Endfunktion
Anmerkung des Übersetzers:
Dies ist Tuenhais erste Übersetzung.
Meine persönliche Erfahrung hat in den letzten Tagen viel davon profitiert, auf dem Auslandswebsites im Ausland zu reisen. Ich dachte auch an das "Lernen vom Besten" des Kalligraphie -Lernens. Die Art und Weise, wie sie teilen können, liegt darin, international zu gehen. Ist das nicht dasselbe beim Lernen von Softwaredesign? Wie sind internationale Lernressourcen im Vergleich zu inländischen Lernressourcen?
Englisch ist keineswegs ein Hindernis. Tuenhai glaubt nicht, dass sein Englisch besser sein wird als Sie. Die Grundlagen der Junior High School sowie Kingsoft Powerwords reicht aus.