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, 6390 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?

Mit freundlichen Grüßen,

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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...