Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB 2008 - WebBrowser mit Tabs

Frage Entwicklung VB for Applications

Mitglied: beckslevel91

beckslevel91 (Level 1) - Jetzt verbinden

26.05.2009, aktualisiert 15:55 Uhr, 6405 Aufrufe, 1 Kommentar

Hey Leute, ich habe ein Problem, dass mich fast zur Verzweiflung treibt...

ich benutze VB 2008 Express und möchte einen Webbrowser schreiben. Nun bin ich schon sehr weit. Jetzt will ich eine "Tab-Funktion" einbauen und habe auch schon einen Code, der mir das ermöglicht:

01.
Public Class Form1 
02.
 
03.
    Dim CurrBrowser As WebBrowser 
04.
 
05.
 
06.
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
07.
 
08.
        ' Alle Tabs entfernen 
09.
        Me.TabControl1.TabPages.Clear() 
10.
        AddTab("Neuer Tab...", "about:blank") 
11.
 
12.
        ' Jetzigen Browser auslesen 
13.
        GetCurrBrowser() 
14.
 
15.
    End Sub 
16.
 
17.
    Private Sub ComboBox1_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles ComboBox1.KeyDown 
18.
 
19.
        ' Wenn ENTER gedrückt wird navigieren und zur 
20.
        ' ComoBox hinzufügen. 
21.
        If e.KeyCode = Keys.Enter Then 
22.
            CurrBrowser.Navigate(Me.ComboBox1.Text) 
23.
            Me.ComboBox1.Items.Add(Me.ComboBox1.Text) 
24.
        End If 
25.
 
26.
    End Sub 
27.
 
28.
    Private Sub TabPage1_TabIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.TabIndexChanged 
29.
        GetCurrBrowser() 
30.
    End Sub 
31.
 
32.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
33.
 
34.
        ' Tab hinzufügen siehe "Sub AddTab()" 
35.
        AddTab("Neuer Tab...", "about:blank") 
36.
 
37.
    End Sub 
38.
 
39.
    Private Sub wb_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) 
40.
 
41.
        ' TabTitel in den Titel der Website ändern 
42.
        Me.TabControl1.SelectedTab.Text = CurrBrowser.DocumentTitle 
43.
 
44.
        ' Wenn man zu "about:blank" navigiert wird der Titel zu "" geändert da 
45.
        ' es eine leere seite ist.. 
46.
        If e.Url.AbsoluteUri = "about:blank" Then 
47.
            Me.TabControl1.SelectedTab.Text = "Neuer Tab..." 
48.
        End If 
49.
 
50.
    End Sub 
51.
 
52.
    Private Sub wb_Navigating(ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) 
53.
 
54.
        ' Während die Seite geladen wird "Laden ..." als Titel verwenden (macht einen kleinen Eindruck)  :P 
55.
        Me.TabControl1.SelectedTab.Text = "Laden ..." 
56.
        Me.ComboBox1.Text = CurrBrowser.Url.AbsoluteUri 
57.
 
58.
    End Sub 
59.
 
60.
    Private Sub wb_Navigated(ByVal sender As Object, ByVal e As WebBrowserNavigatedEventArgs) 
61.
 
62.
        ' Text in ComboBox zum absoluten URI ändern.. Sprich wenn du www.google.de oder 
63.
        ' google.de ein giebst -> http://www.google.de/    ;) 
64.
        ' Hier kannst du auch das  "Me.ComboBox1.Items.Add(Me.ComboBox1.Text)" hin 
65.
        ' verschieben statt gleich nach ENTER (oben) wird dan der komplette URI  
66.
        ' zur Liste hinzugefügt  :D 
67.
 
68.
        Me.ComboBox1.Text = CurrBrowser.Url.AbsoluteUri 
69.
 
70.
    End Sub 
71.
 
72.
    Sub AddTab(ByVal name As String, ByVal url As String) 
73.
 
74.
        Dim tab As TabPage = New TabPage(name) 
75.
        Dim wb As WebBrowser = New WebBrowser 
76.
 
77.
        ' Zur Seite "url" navigieren 
78.
        wb.Navigate(url) 
79.
        wb.Dock = DockStyle.Fill 
80.
 
81.
        ' Den Browser zur TabPage hinzufügen 
82.
        tab.Controls.Add(wb) 
83.
 
84.
        ' Einen EventHandler des WebBrowsers (DocumentCompleted & Navigating) hinzufügen 
85.
        AddHandler wb.DocumentCompleted, AddressOf wb_DocumentCompleted 
86.
        AddHandler wb.Navigating, AddressOf wb_Navigating 
87.
        AddHandler wb.Navigated, AddressOf wb_Navigated 
88.
 
89.
        ' Tab zum TabControl hinzüfügen 
90.
        Me.TabControl1.TabPages.Add(tab) 
91.
 
92.
    End Sub 
93.
 
94.
    Sub GetCurrBrowser() 
95.
 
96.
        ' CurrBrowser auf den Browser des ausgewählten Tabs setzen 
97.
        For Each wb As WebBrowser In Me.TabControl1.SelectedTab.Controls 
98.
            CurrBrowser = wb 
99.
            Exit For 
100.
        Next 
101.
 
102.
    End Sub 
103.
End Class
( http://www.vb-magazin.de/forums/forums/t/4428.aspx )

Das mit den neuen Tabs funktioniert soweit, aber wenn ich dann eine url eingebe zeigt er im Titel des bspw. 2. Tabs den Titel an, die Webseite allerdings wird im Tab1 angezeigt, egal in welchem Tab ich eine Webseite öffnen will, diese wird immer im ersten Tab angezeigt..

Weiß jemand woran das liegt?

MfG,

J.R.
Mitglied: godlie
26.05.2009 um 16:47 Uhr
Hallo,

dein Fehler liegt wahrscheinlich in der FKT GetCurrBrowser, könnte ich mir denken.
Ich würde hier eher über eine Variable in der Klasse arbeiten, welche ich bei:
01.
Private Sub TabPage1_TabIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

auf den sender binde.

Aber jetzt mal ehrlich warum tust du dir das an?
Schon mal über Threads was gehört? Das laden der Webseiten würd ich immer in nen Thread Packen damit der Krempel sich mit anderen Dingen derweilen
austoben kann.
Was für ne Auslastung auf dem PC kreigt den dieser Webbrowser so, wenn sagen wir 4 Flash Sites + Webradio + Chat am laufen ist?

grüße
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Windows Server 2008 32 bit ISO für Volume License Keys (6)

Frage von seppo123 zum Thema Windows Server ...

Windows Server
Windows 2008 R2 Upgrade (8)

Frage von VerwirrterUser zum Thema Windows Server ...

Windows Server
Lizenzierungsfrage zu Server 2008 R2 DSP OEI DVD 1- 4 CPU (1)

Frage von Leo-le zum Thema Windows Server ...

Festplatten, SSD, Raid
gelöst Windows Server 2008 R2 Platte spiegeln - unterschiedliche Platten? (2)

Frage von imacer zum Thema Festplatten, SSD, Raid ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(4)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...