Entrar com a conta da Microsoft
Entre ou crie uma conta.
Olá,
Selecione uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

NESTA TAREFA

Resumo

Aplicativos Visual Basic .NET que hospedam o controle WebBrowser podem manipular o evento NewWindow2 para capturar uma chamada Window. Open que é gerada pelo script. No entanto, não é imediatamente óbvio como seu aplicativo pode obter os valores de largura e altura que são passados para o argumento de recursos do Window. Open para que o host WebBrowser pode redimensionar a janela corretamente. Este artigo demonstra como obter a nova largura e altura do controle WebBrowser e redimensionar o formulário adequadamente.

Requisitos

A lista seguinte descreve o hardware, software, infraestrutura de rede e Service Packs recomendados que você necessita:

  • Microsoft Visual Studio .NET

  • Microsoft Internet Explorer 5.5 Service Pack 2 ou posterior

Criar o exemplo

Esta seção descreve como hospedar o controle WebBrowser em um aplicativo do Visual Basic .NET, como manipular o evento NewWindow2 do controle WebBrowser e como lidar com os WindowSetWidth e os eventos WindowSetHeight Redimensione o seu aplicativo.

  1. Crie um novo Windows application no Visual Basic, da seguinte maneira:

    1. Inicie o Visual Studio .NET.

    2. No menu Arquivo, aponte para Novo e, em seguida, clique em Projeto.

    3. Em Project Types, clique em Projetos do Visual Basic. Em modelos, clique em Windows Application.

  2. Na caixa de ferramentas, clique em Geral, com o botão direito na caixa de ferramentas e, em seguida, clique em Customize Toolbox.

  3. Na guia Componentes COM , marque a caixa de seleção Microsoft Web Browser e, em seguida, clique em Okey.

  4. Na caixa de ferramentas, clique duas vezes na janela do Explorer.

  5. Adicione um controle Button e um controle TextBox para o formulário.

  6. Clique duas vezes no botão para exibir a implementação do evento onClick do botão na janela de código e, em seguida, adicione o seguinte código:

        Private Sub Button1_Click(ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles Button1.Click            AxWebBrowser1.Navigate(TextBox1.Text)    End Sub

    Esse código permite que você navegue até o URL que você especificar na caixa de texto.

  7. Adicione o seguinte código para escrever a função de manipulador para NewWindow2:

        Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) _        Handles AxWebBrowser1.NewWindow2            Dim frmWB As Form1            frmWB = New Form1()            frmWB.AxWebBrowser1.RegisterAsBrowser = True            e.ppDisp = frmWB.AxWebBrowser1.Application            frmWB.Visible = True    End Sub
  8. Adicione o seguinte código para escrever a função de manipulador para WindowSetHeight:

        Private Sub AxWebBrowser1_WindowSetHeight(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetHeightEvent) _        Handles AxWebBrowser1.WindowSetHeight            Dim heightDiff As Integer            heightDiff = Me.Height - Me.AxWebBrowser1.Height            Me.Height = heightDiff + e.height    End Sub
  9. Adicione o seguinte código para escrever a função de manipulador para WindowSetWidth:

        Private Sub AxWebBrowser1_WindowSetWidth(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetWidthEvent) _        Handles AxWebBrowser1.WindowSetWidth            Dim widthDiff As Integer            widthDiff = Me.Width - Me.AxWebBrowser1.Width            Me.Width = widthDiff + e.width    End Sub

Exemplo de código completo

Public Class Form1    Inherits System.Windows.Forms.Form#Region " Windows Form Designer generated code "    'Omitted#End Region    Private Sub Button1_Click(ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles Button1.Click            AxWebBrowser1.Navigate(TextBox1.Text)    End Sub    Private Sub AxWebBrowser1_NewWindow2(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_NewWindow2Event) _        Handles AxWebBrowser1.NewWindow2            'MessageBox.Show(AxWebBrowser1.Height & ":" & AxWebBrowser1.Width)            'MessageBox.Show(doc.body.innerHTML)            Dim frmWB As Form1            frmWB = New Form1()            frmWB.AxWebBrowser1.RegisterAsBrowser = True            'frmWB.AxWebBrowser1.Navigate2("about:blank")            e.ppDisp = frmWB.AxWebBrowser1.Application            frmWB.Visible = True            'MessageBox.Show(frmWB.AxWebBrowser1.Height & ":" & frmWB.AxWebBrowser1.Width)    End Sub    Private Sub AxWebBrowser1_WindowSetHeight(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetHeightEvent) _        Handles AxWebBrowser1.WindowSetHeight            'MessageBox.Show("In SetHeight" & Me.Height & ":" & e.height)            Dim heightDiff As Integer            heightDiff = Me.Height - Me.AxWebBrowser1.Height            Me.Height = heightDiff + e.height    End Sub    Private Sub AxWebBrowser1_WindowSetWidth(ByVal sender As Object, _        ByVal e As AxSHDocVw.DWebBrowserEvents2_WindowSetWidthEvent) _        Handles AxWebBrowser1.WindowSetWidth            'MessageBox.Show("In SetWidth" & Me.Width & ":" & e.width)            Dim widthDiff As Integer            widthDiff = Me.Width - Me.AxWebBrowser1.Width            Me.Width = widthDiff + e.width    End SubEnd Class

Verifique se ele funciona

  1. Crie o aplicativo.

  2. Abra o bloco de notas. Crie um novo arquivo chamado Test. htm e, em seguida, adicione o seguinte código:

    <HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"><TITLE></TITLE><script>function openWin(){var win;win = window.open("http://www.microsoft.com","blah","width=600, height=600");}</script></HEAD><BODY><button onClick=openWin()>Open Window</button></BODY></HTML>
  3. Salve Test. htm em seu servidor Web.

  4. Execute o aplicativo.

  5. Navegue até a página Test. htm e, em seguida, clique no botão. Observe que o site corporativo do Microsoft abre em uma nova instância do aplicativo. O formulário é redimensionado de acordo com os recursos que você passou com a chamada para Window. Open.

Referências

Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de Conhecimento Microsoft:

311284 como: manipular eventos de documento em um aplicativo do Visual Basic .NET

259963 HOWTO: obter a largura e altura fornecido ao interior do Window. Open Host WebBrowser do Visual C++Para obter mais informações sobre o controle WebBrowser, bem como os métodos, as propriedades e os eventos que ele expõe, consulte o seguinte site da Microsoft:

O controle WebBrowser: Referência para desenvolvedores de Visual Basichttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxPara obter mais informações sobre como desenvolver soluções baseadas na Web para o Microsoft Internet Explorer, visite os seguintes sites da Microsoft:

http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×