WebBrowser WithEvents

Status
Niet open voor verdere reacties.

ninjaplayer

Gebruiker
Lid geworden
15 apr 2007
Berichten
603
Via code wordt er een WebBrowser aangemaakt. Ook heb ik events van de browser.

Deze code had ik eerst:
Code:
[FONT="Courier New"]Public Class Form1
Dim lstBrowsers as List (Of Browsers)
Dim CurrentBrowser As WebBrowser = lstBrowsers(tabControl1.SelectedIndex)[/FONT]
Maar die code werkt niet dus heb ik op internet gezocht en kwam zo uit.
Code:
[FONT="Courier New"]Public Class Form1
Dim lstBrowsers as List (Of Browsers)
Private WithEvents CurrentBrowser As WebBrowser = lstBrowsers(tabControl1.SelectedIndex) [/FONT]
Maar dan krijg ik een fout tijdens het maken dan het Formulier.

Nu zit ik met het probleem hoe moet '= lstBrowsers(tabControl1.SelectedIndex)' achter Private WithEvents CurrentBrowser As WebBrowser?
 
Laatst bewerkt:
Ik ga er van uit dat een list hetzelfde is als een array, verbeter me als ik fout ben :)

Als je een browser maakt met tabs die elk een browser bevatten is de beste oplossing bij het aanmaken van elke tab een nieuwe browser aan de control collection van die tab toe te voegen. Op die mannier heb je geen array of list nodig, en zit je ook niet met jouw probleem ;)
 
Ze moeten in een list omdat ik wil weten welke browser er wordt gebruikt. Of is er een andere manier?
 
Ja, het kan zeker anders.

Als je een nieuwe tab maakt, dan voeg je er een nieuwe browser control aan toe. Hier heb je hoe je dat ongeveer doet.

Code:
dim mijnBrowserVenster as new webbrowser
with mijnBrowserVenster 
.name = "venster"
.dock = dockstyles.fill
addhandler .navigated, addressof browser_navigated
' andere handlers ook hier
end with
mijnTabControl.selecteditem.controls.add(mijnBrowserVenster)

Als je dan de huidige browser wilt, dan moet je gewoon dit doen
Code:
ctype(mijnTabControl.selecteditem.controls("venster"), webbrowser)

hier heb je voorbeeld van de crap waar ik aan bezig ben, maar die werkt iets anders dan een gewone tab control, maar het princiepe is hetzelfde.

Code:
    Private Function CreateTabForm(ByVal tabUrl As Uri) As Form
        Dim webWin As New WebBrowser
        Dim tabFrm As New Form

        With webWin
            .Name = "webWin"
            .Dock = DockStyle.Fill
            .Url = tabUrl
            AddHandler .Navigated, AddressOf webWin_Navigated
            AddHandler .Navigating, AddressOf webWin_Navigating
            AddHandler .DocumentCompleted, AddressOf webWin_DocumentCompleted
            AddHandler DirectCast(.ActiveXInstance, SHDocVw.WebBrowser_V1).NewWindow, AddressOf SHDocVwNewWindow
        End With

        With tabFrm
            .Name = "tabFrm"
            .Controls.Add(webWin)
            AddHandler .Load, AddressOf tabFrm_Load
            AddHandler .Shown, AddressOf tabFrm_Shown
        End With
        Return tabFrm
    End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan