SO WIRD'S GEMACHT: Verwenden des WebBrowser-Steuerelements in .NET Compact Framework

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Der .NET Compact Framework unterstützt Kernfunktionen für die Windows Forms WebBrowser-Steuerelement. Die folgenden Member erfordern Windows Mobile 5.0 Software für Pocket PC oder Smartphone. Diese Liste unterliegt Änderungen.

Die folgenden Überlegungen gelten nur für Windows Mobile 2003 für Pocket PC und Windows Mobile 2003 für Smartphone:

  • Die Refresh -Methode löst eine Ausnahme NotSupportedException.

  • Da das Steuerelement WebBrowser Subcontrols in das HTML-Formular eingebettet enthalten kann, können nicht Sie bestimmen, wenn das WebBrowser Steuerelement den Fokus hat, durch die Überwachung des Ereignisses GotFocus. Als dieses Problem zu umgehen verwenden Sie ein Ausschlussverfahren anderer Steuerelemente, die den Fokus aufweisen könnten.

  • Url -Eigenschaft ist nicht im WebBrowserNavigatingEventArgs festgelegt und eine leere Zeichenfolge zurückgegeben.

Auf einem anderen Gerät als einem Pocket PC oder Smartphone, auf dem Microsoft Windows CE 5.0, das Navigated und DocumentCompleted-Ereignis ausgeführt wird, beide zweimal, wenn ein neuer URL besucht wird. Dieser Fehler wird voraussichtlich in zukünftigen Versionen von Windows CE behoben werden.

Erstellen Sie eine WebBrowser -Instanz, auf die HelpRequested Ereignis anzuzeigenden online-Hilfethemen für die Anwendung zu reagieren.

Document -Eigenschaft und die zugehörigen Eigenschaften und Ereignisse, außer für die Eigenschaft DocumentText wird von .NET Compact Framework nicht unterstützt. Sie können DocumentText verwenden, um HTML an Ihre Benutzer z. B. darzustellen, Verknüpfungen und ein einfaches HTML-Formular bereitstellen, .NET Compact Framework unterstützt jedoch nicht Zugriff auf den HTML-Inhalt einer Webseite mit dieser Eigenschaft.

Sie können die Antwort auf das Formular mit der WebBrowserDocumentCompletedEventArgs.Url -Eigenschaft im Code bestimmen, die das Ereignis Navigating behandelt. Ein Codebeispiel wird in der ersten Prozedur bereitgestellt, die folgt.

Sie können nicht außerhalb eines Steuerelements WebBrowser in einer Smartphone-Anwendung navigieren. Um dieses Problem zu umgehen können Sie ein Tastenereignis erkennen und den Fokus auf ein anderes Steuerelement setzen. Ein Codebeispiel wird in der zweiten Prozedur bereitgestellt, die folgt.

Hinweis

Diese Umgehungsmöglichkeit erfordert Windows Mobile 5.0 oder .NET Compact Framework 3.5.

Allgemeine Informationen zur Verwendung des WebBrowser -Steuerelements finden Sie unter SO WIRD'S GEMACHT: Web Browser Capabilities zu einer Windows Forms-Anwendung hinzufügen.

Zum Sammeln von Informationen aus eingebetteten HTML-Steuerelemente

  1. Verwenden Sie DocumentText -Eigenschaft, um HTML im WebBrowser Steuerelement anzuzeigen. Dieses HTML enthält ein Formular mit einer Verknüpfung und einem Textfeld einen URL angeben.

                                Dim sb AsNew StringBuilder()
    sb.Append("<html><body>")
    sb.Append("<a href=")
    sb.Append("""")
    sb.Append("https://www.microsoft.com")
    sb.Append("""")
    sb.Append(">Microsoft</a><p>")
    sb.Append("Specify a URL:<br>")
    sb.Append("<form action=''><input type='text' name='address'/>")
    sb.Append("<br><input type='submit'>")
    sb.Append("</form></body></html>")
    webBrowser1.DocumentText = sb.ToString()
    
    StringBuilder sb = new StringBuilder();
    sb.Append("<html><body>");
    sb.Append("<a href=");
    sb.Append("\"");
    sb.Append("https://www.microsoft.com");
    sb.Append("\"");
    sb.Append(">Microsoft</a><p>");
    sb.Append("Specify a URL:<br>");
    sb.Append("<form action=''><input type='text' name='address'/>");
    sb.Append("<br><input type='submit'>");
    sb.Append("</form></body></html>");
    webBrowser1.DocumentText = sb.ToString();
    
  2. Verwenden Sie das Navigating Ereignis, um festzustellen, ob der URL eine Antwort aus dem Formular enthält. Wenn dies der Fall ist, navigieren Sie zu dem URL.

                                Private
                                Sub webBrowser1_Navigating(ByVal sender AsObject, ByVal e As WebBrowserNavigatingEventArgs)  Handles webBrowser1.Navigating
        Dim x AsInteger    '  The URL contains the results of the    '  HTML form following the equals sign.
        x = e.Url.ToString().LastIndexOf("=")
        If x <> - 1 ThenDim Redirect AsString
            Redirect = e.Url.ToString().Substring((x + 1))
            If Redirect <> ""Then            ' Error handling code omitted in this example.            ' Uri constructor throws a UriFormatException if there's            ' an error.
                webBrowser1.Navigate(New Uri(Redirect))
            Else
                MessageBox.Show("Specify a URL")
            EndIfEndIfEndSub
    
                                private
                                void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
     {
         int x;
         //  The URL contains the results of the//  HTML form following the equals sign.
         x = e.Url.ToString().LastIndexOf("=");
         if (x != -1)
         {
             string Redirect;
             Redirect = e.Url.ToString().Substring(x + 1);
             if (Redirect != "")
             {
                 // Error handling code omitted in this example.// Uri constructor throws a UriFormatException if there's// an error.
                 webBrowser1.Navigate(new Uri(Redirect));
             }
             else
             {
                 MessageBox.Show("Specify a URL");
             }
         }
     }
    

    Im vorherigen Codebeispiel Visual Basic ist der Ereignishandler Navigating bereits mit dem Steuerelement verknüpft. Deklarieren Sie dieser Ereignishandler in c# wie folgt:

                                this.webBrowser1.Navigating += new System.Windows.Forms.WebBrowserNavigatingEventHandler(this.webBrowser1_Navigating);
    

Um aus dem WebBrowser auf dem Smartphone zu navigieren.

  • Im folgenden Codebeispiel wird den Fokus auf ein anderes Steuerelement Wenn nach der Navigation Schlüssel gedrückt wird.

    Das Steuerelement WebBrowser verwendet TAB-Taste Logik von Microsoft Pocket Internet Explorer, damit der Benutzer Navigieren zu anderen Links und eingebetteten Steuerelementen auf der Website durch das Steuerelement angezeigt. Sie können diese Standardeinstellung berühren Verhalten mithilfe der KeyPreview-Eigenschaft überschreiben.

    Im folgenden Codebeispiel wird ausgegangen, KeyPreviewtrue im Konstruktor des Formulars oder im Code die Ereignisbehandlung Load für das Formular festgelegt wurde.

                                Protected
                                Overrides
                                Sub OnKeyDown(ByVal keyg As KeyEventArgs) 
        If keyg.KeyCode = Keys.Up Then
            textBox1.Focus()
        EndIfMyBase.OnKeyDown(keyg)
    
                                protected
                                override
                                void OnKeyDown(KeyEventArgs keyg)
    {
        if (keyg.KeyCode == Keys.Up)
        {
            textBox1.Focus();
        }
        base.OnKeyDown(keyg);
    }
    

Kompilieren des Codes

In diesem Beispiel sind Verweise auf die folgenden Namespaces erforderlich:

Siehe auch

Aufgaben

SO WIRD'S GEMACHT: Web Browser Capabilities zu einer Windows Forms-Anwendung hinzufügen

Konzepte

.NET compact Framework Gewusst-wie-Themen