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 SubPrivate Sub btnPara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPara.Click webb1.Stop() End SubPrivate 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.DocumentCompletedProgressBar1.Value = 0 End SubPrivate 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 ThentxtUrl.Text = "http://www.macoratti.net" End Ifwebb1.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