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
ich mein damit eher das das NICHT möglich ist. Das Maximieren, minimieren kann man ja auch leicht ausmachen, geht das nicht mit dem schließen auch?
Hast Du denn den kompletten Text im Link gelesen und auch verstanden?
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.
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.
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
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.
Thomas K. schrieb: > z.B. durch ALT-F4, STRG-F4 (MDI), Schliessen Button, Aufrufen der > Close() Methode, etc. Und bitte auch nicht drauf vergessen, dass auch Windows schon mal einen Close anordnen kann - zb wenn es runterfährt und dein Programm noch geöffnet ist.
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.controlbox.aspx auch wenn ich von dem vorhaben was usability angeht überhaupt nichts halte
Ereignis Form.Closing müsstest du mit Hilfe der Ereignis-Übergabeparameter das Schliesen abbrechen können.
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
> 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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.