Hallo...
ich benutze eine SaveFileDialoge damit der Benutzer den Pfad zum Speichern sowie den Filenamen selbst wählen kann.
Da mein speichern aber etwas länger dauert (mehrere Datei werden erzeugt und gespeichert) hab ich eine Form erzeugt die mir den Status der Speicherung anzeigt.
Allerdings tut sie das quasi auf dem SaveFileDialog-Fenster Kann ich die Form (von SaveFileDialog) vorher selber irgendwie schließen oder ausblenden?
ein close oder sowas gibt es ja da nicht oder?
Hoffe das ist einigermaßen verständlich.
hi G-Beret,
du könntest versuchen das Fenster mittels ShowWindow auszublenden.
MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
*"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
*"Ignorance simplifies ANY problem."
*"Stoppt die Piraterie der Musikindustrie"
Bau eine Funktion zu Speichern, die du über ein Menü oder sonst wie aufrufst. darin öffnest du den Dialog mit ShowDialog. Wenn du dann das Dialogergebnis auswertest ist doch an der stelle der Dialog schon geschlossen. Wenn du jetzt auf das Ok reagierst und deine Form öffnest, ist der Dialog schon geschlossen.
Entweder ist das kein Problem das so zu machen, oder ich habe das Verhalten bei mir immer falsch Beobachtet.
Hallo,
vermutlich wird das untenliegende Fenster erst neu gezeichnet, wenn Du Deine Speichermethode verlässt. In diesem Fall könnte ein Invalidate() helfen, solbald du die Rückgabe vom Dialog eingesammelt hast.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
vermutlich wird das untenliegende Fenster erst neu gezeichnet, wenn Du Deine Speichermethode verlässt. In diesem Fall könnte ein Invalidate() helfen, solbald du die Rückgabe vom Dialog eingesammelt hast.
nein. invalidate erklärt den bereich nur für ungültig. gezeichnet wird erst dann ,wenn wieder zeit zum zeichnen verfügbar ist, und das ist es zu dem zeitpunkt nicht.
ich würde mal tippen ,das du das aufwändige speichern im gui thread machst?
Hallo,
nein. invalidate erklärt den bereich nur für ungültig. gezeichnet wird erst dann ,wenn wieder zeit zum zeichnen verfügbar ist, und das ist es zu dem zeitpunkt nicht.
Auch wieder wahr... Gezeichnet wird ja ohnehin erst wieder wenn die Methode verlassen wird.
Dann bleibt ja eigentlich nur noch, das Speichern in einen eigenen Thread zu verlagern.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
ja tu ich.
habe es mit Application.OpenForms probiert doch taucht es dort nicht auf!
Werde es jetzt mal mit dem Tipp von ProGamer testen.
Werde es jetzt mal mit dem Tipp von ProGamer testen.
wird auch nciht gehen.
hier findest du grund und lösung: [FAQ] Warum blockiert mein GUI?
jopp du hattest recht JAck30lena.
Habe jetzte einen eigenen Thread zum speichern und rufe dort über Invoke die Aktualisierung meines Status-Fensters auf.
Klappt soweit super.
Danke...