Hi,
mein Hauptprogramm ist mit zwei Dingen beschäftigt, bei denen ich leider keine Möglichkeit habe, Fortschritt zu vermelden (SQL Abfrage, (De)Serialisierung). Ich möchte während desssen in einem eigenen Usercontrol einen animierten Progressbar laufen lassen.
Code in meinem uC:
Funktioniert "trocken" wunderbar aber nicht, wenn das Programm dann wirklich auf die SQL Antwort wartet. Hat jemand eine Idee?
Viele Grüße
John
mein Hauptprogramm ist mit zwei Dingen beschäftigt, bei denen ich leider keine Möglichkeit habe, Fortschritt zu vermelden (SQL Abfrage, (De)Serialisierung). Ich möchte während desssen in einem eigenen Usercontrol einen animierten Progressbar laufen lassen.
Code in meinem uC:
VB.NET-Quellcode
- Dim WithEvents BGW As New System.ComponentModel.BackgroundWorker With {.WorkerReportsProgress = True, .WorkerSupportsCancellation = True}
- Private Sub BGW_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BGW.DoWork
- Do
- If Me.prg.Value = Me.prg.Maximum Then Me.prg.Value = Me.prg.Minimum
- Me.Invoke(Sub() Me.prg.Value += 1)
- Threading.Thread.Sleep(50)
- If BGW.CancellationPending Then Exit Do
- Loop
- End Sub
- Public Sub StopAnimation()
- Me.Visible = False
- BGW.CancelAsync()
- End Sub
- Public Sub StartAnimation()
- Me.Visible = True
- BGW.RunWorkerAsync()
- End Sub
Funktioniert "trocken" wunderbar aber nicht, wenn das Programm dann wirklich auf die SQL Antwort wartet. Hat jemand eine Idee?
Viele Grüße
John