Freitag, 8. Oktober 2010

HTML - Seiten mit dem Webbrowser Steuerlement aufrufen

In C# gibt es ein fertiges Steuerelement, mit dem sich Internetseiten wie im Browser aufrufen lassen.
Das Steuerelement heißt WebBrowser und befindet sich standardmäßig schon in der Toolbox.
Zieht man es auf ein Formular, erstreckt es sich wahrscheinlich standardmäßig über dessen ganze Breite, ist dieses nicht gewünscht, kann man die Eigenschaft Dock ändern.
So sieht ein Teil dieses Blogs im WebBrowser aus:



Nun möchte ich ein paar Methoden dieses Steuerlements beschreiben:

Navigate(): Dieses ist wohl die wichtigste Methode, mit ihr kann man Seiten im WebBrowser Steuerelement aufrufen. Sie erwartet in einer Überladung einen String als Parameter, welcher dann als Zieladresse interpretiert wird.

GoHome(): Navigiert zur Startseite des aktuellen Benutzers.

GoSearch(): Navigiert zur Seite der Standardsuchmaschine des aktuellen Benutzers.

Print(): Druckt die aktuelle Seite des Browsersteuerelements mit den aktuellen Druckeinstellungen des Systems.

ShowPrintDialog(): Ruft den "Drucken" Dialog des Internet Explorers auf, um die aktuelle Seite zu drucken.

ShowSaveAsDialog(): Öffnet den Dialog "Seite speichern", um die aktuelle Seite als HTML - Dokument zu speichern.

Zum Schluss noch ein Link zu einer meiner Meinung nach sehr informativen Seite zum Thema Webbrowser, auf der auch ein kostenlos E-Book zu diesem Thema verfügbar ist:
readup.de

Kommentare:

  1. Könnte man des auch mit Tabs? machen wie in Firefox.

    AntwortenLöschen
  2. Hallo, meinst du mit Tabs, dass man im WebBrowser Steuerelement mehrere Tabs öffnen kann?
    Das geht meines Wissens direkt nicht, allerdings gibt es ein schönes Workaround:
    Einfach ein TabControl anlegen und auf jede Tabseite ein neues WebBrowser Steuerelement aufziehen.
    Das ganze kann man sogar dynamisch machen, also zur Laufzeit neue Tabseiten hinzufügen, insgesamt eigentlich ne ganz coole Lösung ;)
    Wenn du noch Fragen dazu hast sag Bescheid.

    AntwortenLöschen
  3. Kann man auch daten von websites irgendwie auslesen lassen? z.b. bei http://www.uhrzeit.org/ die urzeit. Sowas wäre bestimmt interessant.

    AntwortenLöschen
  4. So wie ich mir denke, dass du dir die Sache vorstellst - nein.
    Für das Programm besteht eine Webseite zuersteinmal nur aus irgendwelchen Zeichen (HTML Code). Direkt bestimmte Informationen auszulesen ist nicht möglich.
    Hierfür müsste auf dem Server ein Webdienst o.ä. laufen, auf den dann aber ganz anders zugegriffen werden müsste.
    Allerdings ist es in der Regel nicht schwer, Programmen beizubringen, woher sie bestimmte Informationen aus Webseiten lesen sollen.
    Die Uhrzeit z.B. von deiner Seite wird immer in einem bestimmten Kontext stehen. Also lässt du dein Programm den kompletten Quelltext einlesen, suchst nach diesem Kontext und liest daraus dann die Uhrzeit.
    So etwas ähnliche habe ich in dem Post http://csharp-tricks.blogspot.com/2010/06/online-wan-ip-adresse-ermitteln.html benutzt, um die Online IP des eigenen Rechners von http://www.wieistmeineip.de/ auszulesen, daraus sollte das Prinzip klar werden.

    AntwortenLöschen