Behandlung von Ereignissen in einer Visual c#-Anwendung Dokument

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 312777 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die catch Dokument Ereignisse für das WebBrowser -Steuerelement in Microsoft Visual c# .NET.

Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Service Packs, die erforderlich sind:
  • Microsoft Visual Studio .NET
  • Internet Explorer 5.5 Service Pack 2 (SP2) oder höher
In diesem Artikel wird außerdem davon ausgegangen, dass Sie mit den folgenden Produkten vertraut sind:
  • Visual Studio .NET
  • Internet Explorer
  • Das Webbrowser- Steuerelement

Beschreibung des Verfahrens

Das Webbrowser- Steuerelement ist einfach, mit in Microsoft Visual Studio oder Visual Studio .NET arbeiten. Aber Behandlung von Ereignissen des WebBrowser -Steuerelements in Visual Studio .NET möglicherweise verwirrend zunächst. Die Ereignisse selbst werden durch die Mshtml.HTMLDocumentEvents2_Event-Ereignis-Schnittstelle verfügbar gemacht. Diese Schnittstelle offen legt die meisten der Dokument-Ereignisse, die in der Anwendung behandelt werden müssen.

Für die Ereignisbehandlung müssen Sie Ihre eigene Funktion erstellen, die beim Eintreten des Ereignisses aufgerufen werden können. Sie müssen mit der Signatur des Ereignisses überein, die ausgelöst wird. Die folgende Funktion behandelt z. B. das MouseOver -Ereignis des Dokuments:
private void MouseOverEventHandler(mshtml.IHTMLEventObj e)
nach dem Ereignishandler in Position befindet, müssen Sie das Ereignis verknüpfen. Sie können ein Ereignis einbinden, jederzeit nach das DocumentComplete -Ereignis für das WebBrowser -Steuerelement ausgelöst wird. Um den Absender des Ereignisses mit dem Ereignishandler zu verbinden, müssen Sie einen Delegaten einrichten. Delegaten sind typsicher, erhöhter Sicherheit, verwaltete Objekte, die auf eine Methode verweisen. Das folgende Codebeispiel veranschaulicht das MouseOver -Ereignis des Dokuments die MouseOverEventHandler -Methode Verbindung:
mshtml.HTMLDocumentEvents2_Event iEvent;
iEvent.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(MouseOverEventHandler);

Erstellen Sie das Projekt, und fügen Sie Code hinzu

Das folgende Codebeispiel sendet das Webbrowser- Steuerelement an http://www.microsoft.com. Nachdem die Seite geladen wurde, hängt von die Ereignissen OnMouseOver und OnClick und fügt dann Text in ein Listenfeld hinzu, wenn die Ereignisse ausgelöst.
  1. Starten Sie Visual Studio .NET.
  2. Erstellen Sie ein neues Visual C# .NET Windows-Anwendungsprojekt.
  3. Fügen Sie auf der Registerkarte COM einen Verweis auf Microsoft.mshtml hinzu des Projekts.
  4. Klicken Sie in der Toolbox auf Allgemein .
  5. Klicken Sie mit der rechten Maustaste auf den geöffneten Bereich, und klicken Sie dann auf Toolbox anpassen .
  6. Klicken Sie auf Aktivieren Sie das Kontrollkästchen Microsoft Webbrowser , und klicken Sie dann auf OK .
  7. Doppelklicken Sie in der Toolbox auf Explorer .
  8. Klicken Sie in der Toolbox auf Windows Forms , und doppelklicken Sie dann auf Listenfeld .
  9. Ordnen Sie die Steuerelemente so dass Sie problemlos auf dem Formular anzeigen.
  10. Doppelklicken Sie auf das Formular, um das Codefenster für die Form1_Load -Methode öffnen. Fügen Sie folgenden Code für die Form1_Load -Methode:
      private void Form1_Load(object sender, System.EventArgs e)
    		{
    			object oURL = "http://www.microsoft.com";
    			object oEmpty = "";
    			axWebBrowser1.Navigate2(ref oURL, ref oEmpty, ref oEmpty, ref oEmpty, ref oEmpty);
    		}
  11. Im Menü Ansicht klicken Sie auf Designer und klicken Sie dann auf WebBrowser .
  12. Klicken Sie in den Eigenschaften auf das Symbol Ereignisse , Bildlauf durch, um das Ereignis " DocumentComplete suchen, geben Sie DocumentComplete und drücken Sie anschließend die [EINGABETASTE]. Ein Codefenster wird mit einer Vorlage für das Ereignis " DocumentComplete angezeigt.
  13. Geben oder fügen Sie den folgenden Code im Code-Fenster:
    		private void axWebBrowser1_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
    		{
    			mshtml.HTMLDocument doc; 
    			doc = (mshtml.HTMLDocument)axWebBrowser1.Document;
    			mshtml.HTMLDocumentEvents2_Event iEvent;
    			iEvent = (mshtml.HTMLDocumentEvents2_Event) doc;
    			iEvent.onclick += new mshtml.HTMLDocumentEvents2_onclickEventHandler(ClickEventHandler);
    			iEvent.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(MouseOverEventHandler);
    			listBox1.Items.Clear();
    		}
    					
  14. Fügen Sie die folgenden Funktionen zum Projekt in der Klasse Form1 hinzu:
    		private bool ClickEventHandler(mshtml.IHTMLEventObj e)
    		{
    			listBox1.Items.Insert(0, e.type + ":" + e.srcElement.tagName);
    			return true;
    		}
    		private void MouseOverEventHandler(mshtml.IHTMLEventObj e)
    		{
    			listBox1.Items.Insert(0, e.type + ":" + e.srcElement.tagName);
    		}
    					

Hinweise

  • Wenn Sie Internet Explorer automatisieren, ist der Prozess identisch. Verwenden Sie anstelle von axWebBrowser1 , den lokalen Variablennamen für Internet Explorer.
  • In diesem Beispiel für Framesets nicht berücksichtigt. Wenn Sie ein Frameset öffnen, möglicherweise keine Ereignisse in Ihrer Anwendung angezeigt. In diesem Fall müssen Sie Code zum Behandeln der Wahrscheinlichkeit eines Framesets hinzufügen.

Informationsquellen

Informationen über das Webbrowser- Steuerelement und die Methoden, Eigenschaften und Ereignisse, die Sie offen legt, finden Sie auf den folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/en-us/library/Aa752043.aspx
Weitere Informationen zu Behandlung von Ereignissen in Microsoft .NET Framework die folgenden MSDN-Website:
http://msdn2.microsoft.com/en-us/library/edzehd2t(vs.71).aspx

Eigenschaften

Artikel-ID: 312777 - Geändert am: Mittwoch, 16. Mai 2007 - Version: 4.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbmt kbcontrol kbevent kbprogramming kbhowtomaster KB312777 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 312777
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com