Como: Usar o controle WebBrowser no .NET Compact estrutura
O .NET Compact estrutura aceita as funções principais para o Windows Forms WebBrowser controle. Os seguintes membros exigem software Windows Mobile versão 5.0 para Pocket PC ou Smartphone.Esta lista está sujeita a alterações.
Propriedade CanGoBack
Propriedade CanGoForward
Propriedade IsBusy
Propriedade IsOffline
Propriedade ReadyState
Propriedade ScriptErrorsSuppressed
Evento CanGoBackChanged
Evento CanGoForwardChanged
Método GoBack
Método GoForward
Método OnCanGoBackChanged
Método OnCanGoForwardChanged
Método Refresh
As seguintes considerações se aplicam somente ao Windows Mobile 2003 para Pocket PC e Windows Mobile 2003 para Smartphone:
The Refresh método lança um NotSupportedException exceção.
Porque o WebBrowser controle pode conter subcontroles incorporados no formulário em HTML, você não pode determinar se o WebBrowser controle tem o foco ao monitorar o GotFocus evento. Para solucionar esse problema, use um processo de eliminação de outros controles que podem ter o foco.
The Url propriedade não está conjunto em WebBrowserNavigatingEventArgs e retorna uma seqüência de caracteres vazia.
Em um dispositivo que não seja um Pocket PC ou Smartphone que esteja executando o Microsoft Windows CE 5.0, a Navigated e DocumentCompleted eventos ambos ocorrem duas vezes quando um novo URL é visitado. Este erro deverá ser corrigido em futuras versões do Windows CE.
Você pode criar um WebBrowser instância para responder a HelpRequested evento para exibir tópicos da Ajuda online para seu aplicativo.
O .NET Compact estrutura não dá suporte a Document propriedade e suas propriedades relacionadas e eventos, exceto para o DocumentText propriedade. Você pode usar DocumentText para apresentar HTML aos usuários, sistema autônomo para fornecer links e um formulário HTML simples, mas o .NET Compact estrutura não oferece suporte ao acessar o conteúdo HTML de uma página da Web com essa propriedade.
Você pode determinar a resposta para o formulário com o WebBrowserDocumentCompletedEventArgs.Url propriedade no código que manipula o Navigating evento. Um exemplo de código é fornecido no primeiro procedimento a seguir.
Você não pode navegar fora de um WebBrowser controle em um aplicativo Smartphone. Como solução alternativa, você pode detectar um evento chave e colocar o foco em outro controle.Um exemplo de código é fornecido no segundo procedimento a seguir.
Observação: |
---|
Essa solução alternativa requer Windows Mobile 5.0 ou o .NET Compact estrutura 3.5 . |
Para obter informações Geral sobre como usar o WebBrowser controle, consulte Como: Adicionar recursos do navegador da Web a um Aplicativo Windows Forms.
Para coletar informações dos controles HTML incorporados
Use o DocumentText propriedade para exibir HTML no WebBrowser controle. Este HTML contém um formulário com um link e uma caixa de texto para especificar uma URL.
Dim sb As 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()
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();
Use o Navigating evento para determinar se o URL contém uma resposta do formulário. Se contiver, navegue para a URL.
Private Sub webBrowser1_Navigating(ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) Handles webBrowser1.Navigating Dim x As Integer ' The URL contains the results of the ' HTML form following the equals sign. x = e.Url.ToString().LastIndexOf("=") If x <> - 1 Then Dim Redirect As String 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") End If End If End Sub
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"); } } }
No exemplo de código de Visual Basic anterior, a Navigating evento manipulador já está associado ao controle. Declare esse manipulador de eventos translation from VPE for Csharp da seguinte maneira:
this.webBrowser1.Navigating += new System.Windows.Forms.WebBrowserNavigatingEventHandler(this.webBrowser1_Navigating);
Para navegar fora do WebBrowser no Smartphone
O exemplo de código a seguir coloca o foco em outro controle quando a tecla UP é pressionada na navegação.
The WebBrowser controle usa a lógica de navegar por TAB do Microsoft Pocket Internet Explorer para permitir que o usuário navegar para links diferentes e controles incorporados no site da Web mostrado pelo controle. Você pode substituir esse padrão de navegação por TAB comportamento usando o KeyPreview propriedade.
O exemplo de código a seguir supõe que KeyPreview tem sido conjunto para true no construtor do formulário ou no código que manipula o Load evento do formulário.
Protected Overrides Sub OnKeyDown(ByVal keyg As KeyEventArgs) If keyg.KeyCode = Keys.Up Then textBox1.Focus() End If MyBase.OnKeyDown(keyg)
protected override void OnKeyDown(KeyEventArgs keyg) { if (keyg.KeyCode == Keys.Up) { textBox1.Focus(); } base.OnKeyDown(keyg); }
Compilando o código
Este exemplo requer referências aos seguintes namespaces:
Consulte também
Tarefas
Como: Adicionar recursos do navegador da Web a um Aplicativo Windows Forms