 VB.NET 2005  - Criando o seu navegador Web
 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:
   

- name: btnVolta image : idem
- name: btnPara Image : idem
- name: btnHome Image : idem

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 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:
| PrivateSub webb1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles webb1.DocumentCompleted ProgressBar1.Value = 0End 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 :
| PrivateSub 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