VisualStudio Skrevet 17. april 2007 Del Skrevet 17. april 2007 (endret) Hei! Jeg er ganske ny på VB. Er det noen som vet hvordan jeg setter timeren til å oppdatere webbrowser1 hvert 10. sekund ved hjelp av webbrowser1.refresh? Også en ting til: Etter refreshen må den trykke OK eller drepe en dialog som kommer opp. Er det mulig ? Takk Endret 17. april 2007 av VisualStudio Lenke til kommentar
Manfred Skrevet 17. april 2007 Del Skrevet 17. april 2007 Legge ut en egen tråd, eller backgroundWorker som trigger refresh. Lenke til kommentar
VisualStudio Skrevet 17. april 2007 Forfatter Del Skrevet 17. april 2007 (endret) Legge ut en egen tråd, eller backgroundWorker som trigger refresh. 8405992[/snapback] jaha, ja Er det mye jobb? Kan du vise meg hvordan? Endret 17. april 2007 av VisualStudio Lenke til kommentar
Manfred Skrevet 17. april 2007 Del Skrevet 17. april 2007 (endret) (Eksempel følger i C#) Helt øverst i klassen din (Form1 eller noe) legger du : delegate void updateBrowserCallback(); bool ShouldIContinue; BackgroundWorker bw; Så legger du denne i Constructoren (eller på en knapp som skal starte oppdateringen): ShouldIContinue = true; bw = new BackgroundWorker(); bw.WorkerSupportsCancellation = true; bw.WorkerReportsProgress = true; bw.DoWork += new DoWorkEventHandler(bw_DoWork); bw.RunWorkerAsync(); Så lager du funksjonene: void bw_DoWork(object sender, DoWorkEventArgs e) { while(ShouldIContinue) { System.Threading.Thread.Sleep(10000); updateBrowser(); } } private void updateBrowser() { if (this.webbrowser1.InvokeRequired) { UpdateBrowserCallback u = new UpdateBrowserCallback(updateBrowser); this.Invoke(u, new object[]); } else { this.webbrowser1.Refresh(); } } Noe slikt... kode fra hodet... Så kan du ha en OnCancel-sak som setter ShoulIContinue false eller noe, for å stoppe Endret 17. april 2007 av Manfred Lenke til kommentar
VisualStudio Skrevet 17. april 2007 Forfatter Del Skrevet 17. april 2007 (endret) Hvordan får jeg VB.NET til å trykke "Prøv på nytt" her http://tinypic.com/view.php?pic=4c10ncp Og etter at den har valgt prøv på nytt vil den reloade siden, så kommer denne http://tinypic.com/view.php?pic=2imb480 Der skal den gjerne trykke ok eller drepe dialogen, for så å gjøre alt dette i en loop. Starte timer -> reload side -> prøv på nytt -> Dialog -> starte timer -> reload side -> prøv på nytt -> Dialog ..... jeg har lett, men jeg finner det ikke :| Hvis noen kunne vært så snille, og hjulpet meg, hadde jeg satt veldig stor pris på det Tusen takk ! Endret 17. april 2007 av VisualStudio Lenke til kommentar
j000rn Skrevet 17. april 2007 Del Skrevet 17. april 2007 Hvordan får jeg VB.NET til å trykke "Prøv på nytt" her http://tinypic.com/view.php?pic=4c10ncp Og etter at den har valgt prøv på nytt vil den reloade siden, så kommer denne http://tinypic.com/view.php?pic=2imb480 Der skal den gjerne trykke ok eller drepe dialogen, for så å gjøre alt dette i en loop. 8406370[/snapback] http://www.google.no/search?q=send+keystro...lient=firefox-a Lenke til kommentar
j000rn Skrevet 17. april 2007 Del Skrevet 17. april 2007 (endret) Istedenfor backgroundworker: * Dra en Timer kontroll fra toolboksen * Velg interval og sett enabled = true * Dobbeltklikk på den og skriv koden for å oppdatere siden... KISS! btw; er jo ikke noe poeng å lage en backgroundworker tråd som ikke gjør noe... Dvs. det den gjør er å *vente*... Dette er jo fordi det er GUI tråden som oppdaterer WebBrowseren til slutt uansett..... Endret 17. april 2007 av jorn79 Lenke til kommentar
VisualStudio Skrevet 17. april 2007 Forfatter Del Skrevet 17. april 2007 Hvordan får jeg VB.NET til å trykke "Prøv på nytt" her http://tinypic.com/view.php?pic=4c10ncp Og etter at den har valgt prøv på nytt vil den reloade siden, så kommer denne http://tinypic.com/view.php?pic=2imb480 Der skal den gjerne trykke ok eller drepe dialogen, for så å gjøre alt dette i en loop. 8406370[/snapback] http://www.google.no/search?q=send+keystro...lient=firefox-a 8408137[/snapback] Jeg skla ikke programmere i C# ! VB.NET Lenke til kommentar
j000rn Skrevet 17. april 2007 Del Skrevet 17. april 2007 Jeg skla ikke programmere i C# ! VB.NET 8408735[/snapback] So? Bytt ut C# med VB.Net i google søker da... Dessuten så er det enkelt å "oversette" mellom C# og VB.Net. Lenke til kommentar
backup Skrevet 18. april 2007 Del Skrevet 18. april 2007 (endret) Her har du et eksempel med vb.net som refresher vg hvert tiende sekund (Merk at her brukes ingen timer kontroll). Bare sett en webbrowser- og en button-kontroll på formen, lim inn koden og klikk kjør og klikk button1, så ser du hvordan det funker. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://vg.no") Dim minTimer As New System.Windows.Forms.Timer() AddHandler minTimer.Tick, AddressOf minTimerEventProcess minTimer.Interval = 10000 minTimer.Start() End Sub Private Sub minTimerEventProcess(ByVal myObject As Object, _ ByVal myEventArgs As EventArgs) WebBrowser1.Refresh() End Sub Endret 18. april 2007 av backup Lenke til kommentar
Manfred Skrevet 18. april 2007 Del Skrevet 18. april 2007 btw; er jo ikke noe poeng å lage en backgroundworker tråd som ikke gjør noe... Dvs. det den gjør er å *vente*... Dette er jo fordi det er GUI tråden som oppdaterer WebBrowseren til slutt uansett..... 8408145[/snapback] Det kan du drite i Hehe. Det er mye morsommere med BW Timere er SO last season Lenke til kommentar
wolf5 Skrevet 18. april 2007 Del Skrevet 18. april 2007 BackgroundWorkere bør kun brukes til en endelig oppgave som evt tar tid. Ulempen med tråder er at de ikke kjører på GUI tråden og man må dermed Invoke en metode på GUI tråden for å utføre oppgave. BackgroundWorkere synes jeg duger best til å kjøre oppgaver som blir startet fra en GUI. F.eks en knapp som skal utføre noe. Istedet for at GUI låser seg så skjer oppgaven async med BackgroundWorker. Sånt liker sluttbrukerne. Legger heller inn en fin animasjon mens backgroundworkern kjører. Det kan kun kjøre ca 24-25 BackgroundWorker'e samtidig. Legger man til flere vil disse bare køes opp til de andre workerne er ferdig. Så om applikasjonen er avansert med behov for mange timere så kan det være veldig ulurt å bruke BackgroundWorker. Lenke til kommentar
VisualStudio Skrevet 20. april 2007 Forfatter Del Skrevet 20. april 2007 Backup: Takk skal du ha! Menhvordan får jeg VB programmet til å trykke "prøv på nytt" og "ok" på de følgende dialogene? Tusen takk for svar Lenke til kommentar
backup Skrevet 20. april 2007 Del Skrevet 20. april 2007 Skulle gjerne hjulpet deg, men jeg får ikke tak i hva du mener med: Men hvordan får jeg VB programmet til å trykke "prøv på nytt" og "ok" på de følgende dialogene? For å kunne programmere den riktige løsning, må jeg ha en mer detaljert og konkret forklaring å bite i! Lenke til kommentar
VisualStudio Skrevet 20. april 2007 Forfatter Del Skrevet 20. april 2007 (endret) Skulle gjerne hjulpet deg, men jeg får ikke tak i hva du mener med: Men hvordan får jeg VB programmet til å trykke "prøv på nytt" og "ok" på de følgende dialogene? For å kunne programmere den riktige løsning, må jeg ha en mer detaljert og konkret forklaring å bite i! 8428518[/snapback] Les post #5, så skjønner du hva jeg mener Endret 20. april 2007 av VisualStudio 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å