Como Criar um Navegador

terça-feira, 3 de agosto de 2010

Criando um navegador Web no VB 2005

  Redes e Protocolos TCP/IP Avançado com Laboratório
Neste artigo vou mostrar como você pode, facilmente, criar um navegador Web no VB 2005 (É gratuito, 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 à 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:
1 controle WebBrowser
name: webb1
Url: http://www.macoratti.net
4 controles Button
name: btnFrente
Image: Clique no botão, selecione - local resource, e selecione a imagem conforme abaixo:
name: btnVolta image : idem
name: btnPara Image : idem
name: btnHome Image : idem
1 Controle Progressbar
name : ProgressBar1
1 controle TextBox
name: txtUrl
AutoCompleteMode: Suggest (ativa o recurso de auto-completar)
AutoCompleteSource: AllUrl (relembra todas as URLs já informadas antes)
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:
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:
ProgressChanged - quando houver qualquer alteração do progresso iremos alterar o valor da barra de progresso para exibir o progresso da operação ;
DocumentCOmpleted - quando a operação for completada iremos zerar o valor da barra de progresso.
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.DocumentCompletedProgressBar1.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 - apenas vou verificar se o texto informado tem tamanho menor que 1. Se isto ocorrer eu estou atribuindo a URL do site do Macoratti. (meu site pessoal).
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 para o acesso ao site.
VB.NET 2005 é fácil, é simples, é legal. Divirta-se!

0 comentários: