Zweite Form komplett laden [Visual Basic .NET 2010]

Gast #2336349
Lesenswert?

Hallo,

Ich arbeite gerade an einem projekt, das ein paar Datenbankabfragen und 
sonst noch ein paar Dinge durchführt, die einige Sekunden dauern (ca 10 
sekunden zusammen). Das Ganze passiert in der Main-Form.

Nun möchte ich eine zweite Form Laden, die Anzeigt was gemacht wird und 
einen Progressbar beinhaltet.

So weit so gut, das habe ich versucht zu realisieren, ich öffne die Form 
auf der der Text stehen sollte, jedoch bleibt das Label und alle 
restlichen Steuerelemente durchsichtig und wird erst sichtbar wenn alle 
Aktionen durchgeführt wurden.
1
Dim import_wait_form As New Form_Import_Wait()
2
import_wait_form.Show()
3

4
While 
5
'...... Hier kommen die ganzen Abfragen etc
6
End While
7

8
import_wait_form.Close()

wie bringe ich ihn dazu, die Wait Form komplett zu laden und erst dann 
mit der Abarbeitung zu beginnen?
#2336520
Lesenswert?

Debugger schrieb:
>
1
> Dim import_wait_form As New Form_Import_Wait()
2
> import_wait_form.Show()
3
> 
4
> While
5
> '...... Hier kommen die ganzen Abfragen etc
6
> End While
7
> 
8
> import_wait_form.Close()
9
>
>
> wie bringe ich ihn dazu, die Wait Form komplett zu laden und erst dann
> mit der Abarbeitung zu beginnen?

Entweder auf die harte Tour mit Application.DoEvents() oder indem man 
den langwierigen Teil z.B. in einem BackgroundWorker macht.
http://msdn.microsoft.com/de-de/library/system.componentmodel.backgroundworker.aspx
Gast #2337366
Lesenswert?

Danke für deine Antwort,

Das Mit Application.DoEvents() funktioniert super, nur die progressbar 
rennt nicht (klar). Jetzt wird es eben eine Message ohne Progressbar.

Nächstes Mal bau ich einen backgounworker ein, dieses mal belasse ich es 
so :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren