FenrisC0de Skrevet 6. august 2006 Del Skrevet 6. august 2006 Vel. Jeg prøver å lage en tabcontrol basert nettleser. Problem er at jeg sliter med å få webbrowser kontrollen i den aktive tabben til å navigere.. //dette er det som skjer når jeg trykker på "ny tab" knappen// Public i As Integer Dim Browsercollection As New ArrayList Dim w As New WebBrowser Dim t As New TabPage t.Controls.Add(w) Browsercollection.Add(w) TextBox1.Width = (Me.Width / 2) w.Dock = DockStyle.Fill w.Navigate("about:blank") t.Text = "Blankpage " & i TabControl1.Controls.Add(t) i = i + 1 Dette gjør at når jeg trykker på den, så kommer det en ny tabpage med en nettleser i. Over tabcontrollen har jeg en textbox og en knapp. Det jeg sliter med er at når jeg trykker på go-knappen så vil jeg at webbrowseren i den aktive tab'en navigeres. Hittil er det nærmeste jeg har kommet å få navigert en tab, men da forsvant nettleseren fra en annen tab.. så jeg trenger litt hjelp på Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Lenke til kommentar
wolf5 Skrevet 8. august 2006 Del Skrevet 8. august 2006 (endret) EDIT: slettet. var ikke rett .Tag egenskaper på alle kontroller er en super ting å bruke. I dette tilfelle kan du la .Tag egenskapen på hver TabPage peke til WebBrowser kontrollen din. Dermed så kan du raskt finne rett WebBrowser kontroll på den aktive TabPagen: t.Controls.Add(w) Browsercollection.Add(w) TextBox1.Width = (Me.Width / 2) w.Dock = DockStyle.Fill w.Navigate("about:blank") t.Text = "Blankpage " & i t.Tag = w; //Sett referansen til webkontrollen i Tag'en TabControl1.Controls.Add(t) I button click WebBrowser activeBrowser = (WebBrowser)tabControl1.SelectedTab.Tag; Der der var csharp kode. Usikker på hvordan man caster i .Net igjen, men det funker vel med WebBrowser activeBrowser = tabControl1.SelectedTab.Tag as WebBrowser Endret 8. august 2006 av wolf5 Lenke til kommentar
FenrisC0de Skrevet 8. august 2006 Forfatter Del Skrevet 8. august 2006 (endret) EDIT: Nå har jeg følgende: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim activeBrowser As New WebBrowser activeBrowser = TabControl1.SelectedTab.Tag activeBrowser.Navigate(TextBox1.Text) Dim t As New TabPage t.Controls.Add(w) Browsercollection.Add(w) TextBox1.Width = (Me.Width / 2) w.Dock = DockStyle.Fill w.Navigate("about:blank") t.Text = "Blankpage " & i t.Tag = w 'Sett referansen til webkontrollen i Tag'en' TabControl1.Controls.Add(t) Dette funker ikke.. samme skjer, når jeg åpner en tab får jeg opp en tab med et browser vindu, men når jeg åpner enda en forsvinner den fra den første.. EDIT: jeg fikk det til. var bare en slurvefeil på min side Endret 8. august 2006 av Earth657 Lenke til kommentar
FenrisC0de Skrevet 9. august 2006 Forfatter Del Skrevet 9. august 2006 Men hvordan får jeg til WebbrowserNavigating events? Unnskyld, er litt grønn når det gjelder .NET, men noe sånt som Private Sub ActiveBrowser_Navigating(ByVal sender As System.Object, ByVal e As System.EventArgs) Bare som fungerer.. for det gjør ikke den Takk! Lenke til kommentar
wolf5 Skrevet 10. august 2006 Del Skrevet 10. august 2006 Legg "Handles " bakom deklarasjonen av funksjonen Private Sub ActiveBrowser_Navigating(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WebBrowser1.Navigating End Sub Når du skriver Handles så kommer det opp en valg av hva du skal lytte på. Jeg tok WebBrowser1.Navigating i eksemplet, men det er mange flere hendelser på WebBrowser1. Vet ikke om VB.NET har en like hending måte å gjøre dette på som i C#. I C# skriver man bare objektnavn.hendelsesnavn += (fulgt av tab 2 ganger så fylles resten av linjen ut og en ferdig funksjon blir opprettet) Lenke til kommentar
FenrisC0de Skrevet 10. august 2006 Forfatter Del Skrevet 10. august 2006 Har prøvd dette, men det er litt kinkig, fordi da får jeg Error 1 Handles clause requires a WithEvents variable defined in the containing type or one of its base types. Lenke til kommentar
wolf5 Skrevet 10. august 2006 Del Skrevet 10. august 2006 Tror de forskjellige webkontrollene må deklareres globalt i VB.Net for å ha hendelser... (?) De skal ihvertfall deklareres noe slikt Dim withevents mywebbrowser as WebBrowser Prøv å se om det virker inni en funksjon som du har gjort det. Ellers må du få dem ut som globale variabler. Evt en Liste eller array. Eller du får ta hoppet over i C# :-) Holdt bare på med VB.NET et års tid før jeg gikk over til C# og holder meg der. Lenke til kommentar
FenrisC0de Skrevet 13. august 2006 Forfatter Del Skrevet 13. august 2006 Ser ikke ut til at det hadde noen effekt. :S Lenke til kommentar
wolf5 Skrevet 14. august 2006 Del Skrevet 14. august 2006 Google frem withevents og vb.net: http://www.codeproject.com/vb/net/StepBySt...entsInVBNET.asp Du er interessert i avsnittet som heter "Handling events (dynamic)" For hver WebBrowser kontroll du oppretter så ønsker du at den skal kalle en gitt funksjon du har opprettet når en gitt hendelse kommer (f.eks Navigating) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå