• 5 odgovora
  • 2.016 pregleda
backgroundWorker nova forma 05.05.2011. u 13:34 · pre 188 meseci #1
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!
Re: backgroundWorker nova forma 05.05.2011. u 15:41 · pre 188 meseci #2
Sad vidim da u principu ovaj
wait.ShowDialog() zarobi nastavak app...

Jel ima neki nacin da se ovo realizuje?
Re: backgroundWorker nova forma 05.05.2011. u 19:14 · pre 188 meseci #3
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. :)
Re: backgroundWorker nova forma 06.05.2011. u 08:26 · pre 188 meseci #4
A zasto nisi jednostavno zvao wait.Show umesto wait.ShowDialog, kad si vec imao sve napravljeno sa backgroundworkerom?
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
Re: backgroundWorker nova forma 07.05.2011. u 14:21 · pre 188 meseci #6
u sustini si izokrenuo kako treba da se koristi backgroundworker. u DoWork si trebao da otvaras konekciju, a u RunWorkerCompleted da sakrijes wait formu
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme