Form1 schließen verhindern C#

Gast #3087470
Lesenswert?
• ▲
▼
Hallo,
für ein Projekt muss ich zum schließen erst einen "gesicherten" Stopp 
erzeugen, damit meine Daten usw fertig geschriebn werden und ich muss 
solange warten.
Kann ich es irgendwie einstellen, das solange meine Form1 läuft es dem 
Benutzer nicht möglich ist, das rote X oben in der Ecke zu drücken? also 
so wie disablen?

mfg
Gast #3087506
Lesenswert?
• ▲
▼
Florian W schrieb:
> Ja schon!
> Dachte aber es geht vl eleganter, dass man den Button erst gar nicht
> drücken kann. Dann weis der Benutzer sofort wenn er hinschaut, dass er
> erst das sichere beenden machen muss.

dann ändere doch die eigenschaft auf Dialog ab, dann gibt es diesen 
button nicht.
Gast #3087514
Lesenswert?
• ▲
▼
Ich glaub ich nehm doch die Lösung die im Link beschrieben ist, aber 
leider: keine Plan wie ich das realisiere.
kann man das über 2 Buttons steuern?
D.h. wenn ich Button 1 drücke wird die Cancel Eigenschaft auf true 
gesetzt und nach drücken von Button2 wieder auf false?
Wo und wie muss ich das machen?

mfg
#3087875
Lesenswert?
• ▲
▼
In dem Link werden die die beiden Funktionen dokumentiert mit denen du 
einen Handler für das Form-Close Ereignis hinterlegen und wieder 
entfernen kannst. Das Form-Close Ereignis wird ausgelöst, wenn das Form 
geschlossen werden soll. Dieses kann unterschiedlich ausgelöst werden, 
z.B. durch ALT-F4, STRG-F4 (MDI), Schliessen Button, Aufrufen der 
Close() Methode, etc. Wenn dein installierter Handler nun nach dem 
Eintritt des Ereignisses aufgerufen wird, so kannst du die Cancel 
Eigenschaft des Arguments entsprechend deiner Vorlieben setzen.
#3088673
Lesenswert?
• ▲
▼
Du kannst das schliessen der Anwendung verhindern, indem du innerhalb 
des FormClosing-Events die Eigenschaft 'Cancel' auf 'true' oder 'false' 
setzt. Dementsprechend wird die Anwendung geschlossen oder nicht. Die 
Eigenschaft 'Cancel' kannst du über den an FormClosing übergebenen 
Parameter 'e' (FormClosingEventArgs) erreichen. Also z.B e.Cancel = 
true; verhindert das schließen der Anwendung.

Grüße
Gast #3088679
Lesenswert?
• ▲
▼
> dass man den Button erst gar nicht drücken kann. Dann weis der
> Benutzer sofort wenn er hinschaut, dass er erst das sichere
> beenden machen muss

Im Gegenteil.

Dann weiß der Benutzer, daß er ein verficktes Programm von einem 
idiotischen Programmierer vor sich hat, der mal wieder die 
Weltherrschaft übernehmen wollte, sich aber dabei übernahm.

Es spricht NICHTS dagegen, bei einem Schliessen einer Form über X das 
sichere Beenden durchzuziehen. Das passiert dann auch wenn man den 
Rechner runterfährt, der sonst nur runterfahren würde, wenn man die 
Anwendung gnadenlos abschiesst.

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