VB.NET 2005  - Criando o seu navegador Web


Continuando a nossa saga para aprender a trabalhar com o VB 2005 e seguindo o conselho do velho sábio que diz: "Primeiro o arroz com feijão, depois o camarão...", vamos devagar e sempre.

Este artigo vou mostrar como você pode facilmente criar um navegador Web no VB 2005 (é grátis...por enquanto) com recursos interessantes e com pouco código.

Abra o VB 2005 e crie um novo projeto que pode ser chamado de meuWebBrowser, ou algo parecido, fique a vontade...

No formulário padrão do projeto , form1.vb, inclua os seguintes componentes arrastando-os diretamente da caixa de ferramentas (toolbox), guia Common Controls, para o formulário, usando a disposição conforme mostrada na figura abaixo:

Componentes usados no formulário e suas respectivas propriedades alteradas:

Nota: Quando o controle WebBrowser for arrastado para o formulário você deverá localizar a guia Smart Tag e clicar na opção Undock Parent Container , conforme figura abaixo, para poder arrastar os demais controles para o formulário.

Lembrando que os principais eventos do controle WebBrowser são:

Browser Evento Descrição
Navigating Disparado quando você define uma nova URL ou quando o usuário clica em um link.
Navigated Disparado antes do navegador iniciar o dowload da página.
ProgressChanged Disparado periodicamente durante o download. Informe quantos bytes foram baixados e quantos ainda são esperados.(Vamos usar este evento para ativar a barra de progresso.)
DocumentCompleted Disparado quando a página foi completamente carregada.

O código de cada botão de comando, colocado no evento Click, é exibido a seguir. Neles estou usando as propriedades do objeto WebBrowser para permitir a navegação.

Private Sub btnFrente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFrente.Click

   webb1.GoForward()

End Sub
 

Private Sub btnVolta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVolta.Click

   webb1.GoBack()

End Sub

 

Private Sub btnPara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPara.Click

   webb1.Stop()

End Sub

 

Private Sub btnHome_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHome.Click

   webb1.GoHome()

End Sub

Para podermos mostrar a barra de progresso funcionando durante a carga de uma página teremos que tratar os eventos do controle WebBrowser.:

Abaixo o código que foi colocado em cada um dos eventos:

Private Sub webb1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles webb1.DocumentCompleted

   ProgressBar1.Value = 0

End Sub
 

Private Sub webb1_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles webb1.ProgressChanged

   ProgressBar1.Value = CType(((e.CurrentProgress / e.MaximumProgress) * 100), Integer)

End Sub

 

Na caixa de texto - txtUrl - estarei apenas verificando se o texto informado tem tamanho menor que 1. Se isto ocorrer eu estou atribuindo a URL do site do Macoratti. (conhece???). 

Quando o usuário deixa (leave) a caixa de texto , você irá atribuir uma nova URL a propriedade URL do controle :

Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtUrl.Leave

If txtUrl.Text.Length < 1 Then

    txtUrl.Text = "http://www.macoratti.net"

End If

webb1.Url = New System.Uri(txtUrl.Text)

End Sub

Executando o  projeto, e, estando conectado, teremos o resultado conforme exibido abaixo para o acesso ao site www.macoratti.net :

VB.NET 2005 , é fácil, é simples, é legal. Divirta-se... 


José Carlos Macoratti