zusatz Fenster drüber legen


Bella_Isy

Erfahrenes Mitglied
Hallo,

Ach bestimmt kann mir wiedermal jemand helfen!

Ich habe zwei Form1 und Form2! Wenn ich mein Programm starte wird das erste Fenster angezeigt! Wenn jetzt das Ereignis OK_Click ausgelösst wird. Werden zwei Methoden aufgerufen (DatenHolen(), DatenSchreiben()).

Die Form2 soll solange im Vordergrund bleiben bis die 2 Methoden ausgeführt sind, die kann je nach Datenmenge meherer Minuten Dauern.

Das Problem was ich habe ist:
Wenn ich zuerst das Form2 aufrufe kann ich die 2 Methoden nicht mehr aufrufen und wenn ich es umgekehrt probiere. Wird die Form erst nach dem ausführen der methoden aufgerufen. wie kann ich es erreichen das dies aber quasi parallel geschriet.

Hinweis:
DatenHolen und DatenSchreiben sind im Form1 als Public Sub deklariert und definiert
DatenSchreiben greift wiederrum auf 4 weiter Methoden zu, die ebendfalls im Form1 als Public Function deklariert und definiert sind.

Gruß Isabelle
 

Bella_Isy

Erfahrenes Mitglied
ich habe eine eventuell einen lösungweg gefunden. Allerdings hat sich dort ein anderes Problem ergeben.
Code:
If Warten.ShowDialog = DialogResult.Yes Then
                            DatenHolen()
                            DatenSchreiben()
                            Warten.Close()
                        End If
Das geht natürlich nur wenn ich ein Button an Klicke und somit das DialogResult.Yes zurückgegeben wird. Kann ich diese Ereignis bei Laden der Form automatisch ausführen lassen?
 

Vektor

Erfahrenes Mitglied
Hallo,

warum benutzt du beim Aufruf von Form2 denn den Befehl ShowDialog()? Wenn du den Befehl Show() nimmst, kannst du im Form1 die zwei Prozeduren ausführen lassen, und danach Form2 wieder schließen. Also so z.B.:
Code:
Form2.Show()
Me.Enabled = False 'Form1 deaktivieren um eine anwahl zu verhindern
Call DatenHolen()
Call DatenSchreiben()
Form2.Close() 'oder Form2.Hide()
Me.Enabled = True 'Form2 wieder aktivieren
Ich hoffe ich habe dich nicht falsch verstanden. So funktioniert das zumindest bei mir.