Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

BusT

URL na ComboBox

Mensagens Recomendadas

BusT

Olá estou a fazer um simples browser no Visual Basic 2008

As coisas principais já estão feitas...

Eu ponho um URL na combobox e consigo ver esse URL, o que está falhando é que o URL da ComboBox não muda, por exemplo ponho na combobox isto: www.google.pt, consigo aceder ao website mas dps por exemplo no google carrego imagens e o URL continua o mesmo ou seja : www.google.pt

Como posso mudar isso?

Cumps.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rjsma

o tutorial funciona perfeitamente

fizeste o tutorial no mesmo projecto que tinhas?

se a resposta for sim faz em um novo projecto e depois tentas implementar comandos mais evoluidos

se nao conseguires depois deixo aqui um exemplo para compreenderes melhor

cumps

:)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

50 erros para um problema que se resolve com uma linha :)

O Webbrowser tem um evento chamado DocumentCompleted que é disparado sempre que a página acaba de ser carregada.

Só precisas de apanhar o url para onde queres, no momento em que o evento é disparado, por exemplo:

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Combobox1.Text = e.Url.ToString
    End Sub


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Por curiosidade Vi o video e elaborei o projecto, mas ao adicionar um novo tab e ao o seleccionar dá-me o seguinte erro.

Untitled-1.jpg

Alguém sabe o porque?

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Se o índice 0 (zero) está fora do alcance, significa (à partida) que a contagem de controlos da selectedtab é zero.

A julgar por a conversão que estás a tentar fazer, não te esqueceste de meter um controlo webbrowser na tab?


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Johnny Mercy

Olha é melhor fazeres assim:

Private Sub WebBrowser1_DocumentTitleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.DocumentTitleChanged
   Combobox1.Text = e.Url.ToString
End Sub

Assim ele muda logo o url quando muda o titulo da página, é mais rápido do que o DocumentCompleted pois tinhas que esperar que a página carrega-se por completo.

:)

Sobre esse erro eu penso que o browser ainda não está carregado e como não existe ele dá erro. A melhor coisinha a fazeres é criares uma classe para o browser pois assim não precisas nada disso no timer (não é obrigatório criares uma classe mas fica muito mais organizado).  :)

Podes por isso dentro de um try em ultimo caso.

Seja como for, se quiseres ver mais coisas para o teu browser sempre podes verificar este simples browser tutorial que eu fiz:

http://vb-extreme-project.blogspot.com/2010/01/web-browser-simples-navegador.html

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Esse erro deveu-se a falta de atenção! mas já esta resolvido, nem a copiar se acerta-mos. erro ao copiar.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas tenho uma dúvida. não sei se é a mesma que o BusT.

Mas quando tenho varios tabs abertos ao navegar por eles o url na nao muda fica o ultimo do tab aberto.

Como fazer para corrigir isso?

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

ponho que codigo?

o

ComboBox1.Text = e.Url.ToString

não funciona. e não sei onde é guardado esse valor (string) para p poder voltar a chamar.

pode ser a coisa mais básica do mundo, mas infelizmente não estou a conseguir

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Johnny Mercy

Claro que não funciona assim..

Eu não sei como fizeste ao criar uma nova aba mas penso que seja assim, tenta:

Dim WB As (nome do controlo web browser que estás a usar) = (nome da tab control).SelectedTab.Tag
ComboBox1.Text =wb.document.url.tostring

Se não funcionar põe aí o código que fazes quando adicionas uma nova aba.  ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Private Sub Done(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserDocumentCompletedEventArgs)
        TabControl1.SelectedTab.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).DocumentTitle
        ComboBox1.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Url.ToString
        'ComboBox1.Text = e.Url.ToString
    End Sub

Private Sub AdiccionarTabToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdiccionarTabToolStripMenuItem1.Click
        Dim browser As New WebBrowser
        TabControl1.TabPages.Add("New page")
        TabControl1.SelectTab(int)
        browser.Name = "Web browser"
        browser.Dock = DockStyle.Fill
        TabControl1.SelectedTab.Controls.Add(browser)
        AddHandler browser.ProgressChanged, AddressOf Loading
        AddHandler browser.DocumentCompleted, AddressOf Done

        int = int + 1

        CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoHome()
    End Sub

Tentei como disses-te mas continua sem funcionar

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Johnny Mercy

Pronto, deixa estar o código que te disse a cima mas altera o teu add tab por esse:

Private Sub AdiccionarTabToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdiccionarTabToolStripMenuItem1.Click
       Dim newBrowser As New CustomBrowser
        Dim newTab As New TabPage
        newBrowser.Tag = newTab
        newTab.Tag = newBrowser
        TabControl.TabPages.Add(newTab)
        newTab.Controls.Add(newBrowser)
        newBrowser.Dock = DockStyle.Fill

        CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoHome()

        TabControl.SelectTab(newTab)
    End Sub

Já deve funcionar  ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

   Private Sub TabControl1_TabIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.TabIndexChanged
        ' ComboBox1.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Url.ToString
        If TabControl1.TabIndex = 0 Then
        Else
            Dim WB As WebBrowser = TabControl1.SelectedTab.Tag
            ComboBox1.Text = WB.Document.Url.ToString

        End If
    End Sub

Private Sub Done(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserDocumentCompletedEventArgs)
        TabControl1.SelectedTab.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).DocumentTitle
        ComboBox1.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Url.ToString
        'ComboBox1.Text = e.Url.ToString
    End Sub

Private Sub AdiccionarTabToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdiccionarTabToolStripMenuItem1.Click
        Dim browser As New WebBrowser
        TabControl1.TabPages.Add("New page")
        TabControl1.SelectTab(int)
        browser.Name = "Web browser"
        browser.Dock = DockStyle.Fill
        TabControl1.SelectedTab.Controls.Add(browser)
        AddHandler browser.ProgressChanged, AddressOf Loading
        AddHandler browser.DocumentCompleted, AddressOf Done

        int = int + 1

        CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoHome()
    End Sub

Este é o código que uso para o browser.

Já tentei com o código que deste e nada :S

Experimenta esse código

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rjsma

Por curiosidade Vi o video e elaborei o projecto, mas ao adicionar um novo tab e ao o seleccionar dá-me o seguinte erro.

Untitled-1.jpg

Alguém sabe o porque?

Cumprimentos Paulo Silva

fui mexer no meu webbrowser que tinha feito a uns tempos e reparei que tambem tinha o mesmo erro do nosso colega Paulo Silva, da-me esse erro quando carrego no botao para fechar a tab. Algum membro sabe porque isto acontece ou até mesmo o proprio paulo silva podia explicar como resolveu.

Abraço

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Eu retirei esse if e ficou só mesmo o conteúdo.

Se o problema persistir diz.

Agora ele adicciona e remove tudo bem, mas ao mudar de tab o URL não muda consoante a pagina que está.

Dai o meu problema.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rjsma

eu tirei o if e o problema ainda continua a existir

no evento do timer tenho

ToolStripStatusLabel1.Text = CType(webbrowser1.SelectedTab.Controls.Item(0), WebBrowser).StatusText

no inicio o navegador funcionava completamente  mas depois fui adicionando funcionalidades e quando dei por mim ja nao funcionava este botao

abraço

;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Vendo bem eu no inicio tambem deu-me esse erro porque tinha-me enganado a copiar codigo, pus igual o codigo do form_load e do adicionar tab mas era diferente tinha para lá o incrementador . vê se copias-te bem?

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rjsma

tive agora a comparar os codigos do video e com o minha aplicação e parece estar tudo igual, incrementador é igual no form_load e no adicionar tab.Continua a dizer que o 0 esta fora do intervalo.já nao estou a ver nada disto  :P

abraço

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Repara bem... Garanto-te que não é igual. Se não descobrires a diferença diz que posto aqui.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.