Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

NESTA TAREFA

Resumo

Aplicações do Visual Basic .NET que hospedem o controlo WebBrowser podem processar o evento NewWindow2 para detectar uma chamada de window. Open que é gerada pelo script. No entanto, não é evidente como a aplicação pode obter os valores de largura e altura que são transmitidos para o argumento de funcionalidades do window. Open para que o anfitrião WebBrowser pode redimensionar a janela correctamente. Este artigo demonstra como obter a nova largura e altura do controlo WebBrowser e como redimensionar, por conseguinte, o formulário.

Requisitos

A lista seguinte descreve o hardware, o software, a infraestrutura de rede e os service packs recomendados de que necessita:

  • Microsoft Visual Studio .NET

  • Microsoft Internet Explorer 5.5 Service Pack 2 ou posterior

Criar a amostra

Esta secção descreve como hospedar o controlo WebBrowser numa aplicação Visual Basic .NET, como processar o evento NewWindow2 do controlo WebBrowser e, em seguida, como processar a WindowSetWidth e os eventos de WindowSetHeight a Redimensione a aplicação.

  1. Crie uma nova aplicação de Windows no Visual Basic do seguinte modo:

    1. Inicie o Visual Studio .NET.

    2. No menu ficheiro , aponte para Novoe, em seguida, clique em projecto.

    3. Em Tipos de projecto, clique em Projectos do Visual Basic. Em modelos, clique em Aplicação do Windows.

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

  3. No separador ' Componentes COM , seleccione a caixa de verificação do Microsoft Web Browser e, em seguida, clique em OK.

  4. Na caixa de ferramentas, faça duplo clique na janela do Explorador.

  5. Adicione um controlo de botão e um controlo de caixa de texto ao formulário.

  6. Faça duplo clique no botão para ver a execução do evento AoFazerClique 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

    Este código permite-lhe navegar para o URL que especificou na caixa de texto.

  7. Adicione o seguinte código para escrever a função de rotina de tratamento 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 rotina de tratamento 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 rotina de tratamento 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 completa

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

Verificar se funciona

  1. Compilar a aplicação.

  2. Abra o bloco de notas. Criar um novo ficheiro 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. Guarde Test.htm no servidor Web.

  4. Execute a aplicação.

  5. Navegue para a página de Test.htm e, em seguida, clique no botão. Repare que o site da Microsoft na Web da empresa é aberta uma nova instância da aplicação. O formulário é redimensionado de acordo com as funcionalidades que transmitido com a chamada para o window. Open.

Referências

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

311284 como: processar eventos do documento numa aplicação do Visual Basic .NET

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

Controlo do WebBrowser: Uma referência para programadores de base Visualhttp://msdn2.microsoft.com/en-us/library/Aa752043.aspxPara mais informações sobre como desenvolver soluções baseadas na Web para o Microsoft Internet Explorer, visite os seguintes Web sites da Microsoft:

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

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×