ASP CLASSICO ASP.NET C# SQL / DATABASE VB / VBA VB.NET Todos os fóruns 

WEB BROWSER + TABCONTROL - ABRIR NOVAS JANELAS

 Tópico anterior Próximo tópico Novo tópico

WEB BROWSER + TABCONTROL - ABRIR NOVAS JANELAS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#470463 - 08/01/2017 12:07:24

GTSDIGITAL
SAO PAULO
Cadast. em:Janeiro/2015


Última edição em 11/01/2017 09:34:19 por GTSDIGITAL

Amigos, estou usando o WebBrowser para navegação, quando clico em alguma propaganda é aberto em uma nova janela (Internet Explorer) que é o motor do WebBrowser, mas quero que seja aberto uma nova janela dentro do TabControl + WebBrowser dentro do mesmo form, como fazer ?




Imports System.ComponentModel
Imports System.Net

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim newPage As New TabPage()
        newPage.Text = "New Tab"
        TabControl1.TabPages.Add(newPage)

        Dim webbrowswer As New WebBrowser()
        webbrowswer.Dock = DockStyle.Fill
        newPage.Controls.Add(webbrowswer)
        TabControl1.SelectedTab = newPage

        'OCULTAR ERROS DE SCRIPTS
        webbrowswer.ScriptErrorsSuppressed = True
        webbrowswer.Navigate("www.google.com.br")
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If TabControl1.SelectedTab IsNot Nothing Then
            TabControl1.TabPages.Remove(TabControl1.SelectedTab)
        End If
End Sub





#470482 - 09/01/2017 02:02:56

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Ao invés de adicionar sempre a mesma instância de WebBrowser, adicione uma nova no momento da criação da Tab:

newPage.Controls.Add(New WebBrowser())


_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#470486 - 09/01/2017 07:57:23

GTSDIGITAL
SAO PAULO
Cadast. em:Janeiro/2015


Citação:
:
Ao invés de adicionar sempre a mesma instância de WebBrowser, adicione uma nova no momento da criação da Tab:

newPage.Controls.Add(New WebBrowser())

Boa garoto, e como eu detecto quando o usuario der um click em algum link (tipo propaganda de algum site) que geralmente será aberto uma nova janela ? Assim fazer ele abrir neste novo WebBrowser dentro do form ?



#470538 - 09/01/2017 22:45:51

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O controle WebBrowser não possui uma indicação de redirecionamento, portanto não é possível fazer o que você quer. Pode ser que alguma gambiarra funcione, mas não será confiável.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#470580 - 10/01/2017 16:56:31

GTSDIGITAL
SAO PAULO
Cadast. em:Janeiro/2015


Última edição em 11/01/2017 09:35:02 por GTSDIGITAL

Citação:
:
O controle WebBrowser não possui uma indicação de redirecionamento, portanto não é possível fazer o que você quer. Pode ser que alguma gambiarra funcione, mas não será confiável.



KERPLUNK, consegui através do código abaixo, ao clicar em um hyperlink de publicidade será aberto uma nova janela, o codigo abaixo detecta certinho e abre a nova ABA do TabControl, mas como também é criado um novo WebBrowser, como eu passo a URL clicada para esse novo WebBrowser ?

Ele cria um Index de webbrowsers a cada criação em tempo de execução ?



Imports System.ComponentModel
Imports System.Net

Private Sub WebBrowser1_NewWindow(sender As Object, e As CancelEventArgs) Handles WebBrowser1.NewWindow

        'CRIAR UMA NOVA ABA
        Dim tp As New TabPage
        TabControl1.Controls.Add(tp)

        'Isso cria um novo webbrowser com o Evento NewWindow e o navega até o link que deseja ser aberto
        Dim wb As New WebBrowser
        Dim myElement As HtmlElement = WebBrowser1.Document.ActiveElement
        Dim target As String = myElement.GetAttribute("href")
        With wb
            .Navigate(target)
            .Dock = DockStyle.Fill
        End With

        AddHandler wb.NewWindow, AddressOf WebBrowser1_NewWindow

        tp.Controls.Add(wb)

        'This prevents ie from popping up
        e.Cancel = True


End Sub





 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário