Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

backgroundWorker nova forma

[es] :: .NET :: .NET Desktop razvoj :: backgroundWorker nova forma

[ Pregleda: 1414 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
212.178.225.*



+18 Profil

icon backgroundWorker nova forma05.05.2011. u 13:34 - pre 157 meseci
Pozdrav svima!

Hteo bih da uz pomoc Backgroundworker-a (bgw) uradim sledece:
klikom na dugme pokrecem konekciju na neku bazu podataka i istovremeno otvaram novu formu (pomocu bgw-a) koja ispisuje poruku da se vrsi konekcija i pokazuje progres bar...
Pogledao sam malo ove teme:
https://www.elitesecurity.org/t278600-Kako-napraviti-please-wait
https://elitesecurity.org/t237778-progress-bar-otvaranje-formi

ali imam problem kako da zaustavim bgw kada se uspostavi konekcija ili kada istekne timeout.

Evo koda:

Code:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzvestajZaDan.Click
       BackgroundWorker1.RunWorkerAsync()
       ...
 Try
       conn.Open()
       BackgroundWorker1.CancelAsync()
 Catch
      BackgroundWorker1.CancelAsync()
 End Try
End Sub


Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        If (BackgroundWorker1.CancellationPending) Then
            e.Cancel = True
            Exit Sub
        Else
            wait.ShowDialog()
        End If
    End Sub

Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        wait.Close()
    End Sub



WorkerSupportsCancellation je postavljeno na True.

Hvala!
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
212.178.225.*



+18 Profil

icon Re: backgroundWorker nova forma05.05.2011. u 15:41 - pre 157 meseci
Sad vidim da u principu ovaj
wait.ShowDialog() zarobi nastavak app...

Jel ima neki nacin da se ovo realizuje?
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
212.178.225.*



+18 Profil

icon Re: backgroundWorker nova forma05.05.2011. u 19:14 - pre 157 meseci
Uradio sam sa thredovima...mada ih nikad nisam koristio do sad.
Napravio sam novi thred koji kreira formu i prikazuje je.
dok se vrsi konekcija na bazu thread je startovan, a kada se konektuje pozivam thread.Abort().
ne znam da li je to dobar pristup ali radi. :)
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: backgroundWorker nova forma06.05.2011. u 08:26 - pre 157 meseci
A zasto nisi jednostavno zvao wait.Show umesto wait.ShowDialog, kad si vec imao sve napravljeno sa backgroundworkerom?

if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
..106.109.adsl.dyn.beotel.net.



+18 Profil

icon Re: backgroundWorker nova forma06.05.2011. u 16:40 - pre 157 meseci
Isto se desavalo...
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: backgroundWorker nova forma07.05.2011. u 14:21 - pre 157 meseci
u sustini si izokrenuo kako treba da se koristi backgroundworker. u DoWork si trebao da otvaras konekciju, a u RunWorkerCompleted da sakrijes wait formu
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: backgroundWorker nova forma

[ Pregleda: 1414 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.