Hi,
dein Hauptformular hat einen Event (OnClosing), den du abfangen kannst, indem du eine Eventhandlermethode deklarierst. Am einfachste
- geh in VS in den Formulardesigner
- selektiere das ganze Formular
- rufe (F4?) das Eigenschaftenfenster auf
- wechsle darin auf Events
- suche den OnClosing Event
- doppelklicke in das leere Feld daneben
--> dadurch macht Visual Studio eine neue Methode auf à la
private sub Form1_OnClosing(object as sender ,e as ClosingEventArgs)
handles Form1.OnClosing
throw new NotImplementedException("Not yet done")
end sub
e hat dann eine Eigenschaft "Cancel", die man auf true setzen kann.
Dazu implementierst du innerhalb der Mehtode einfach ein
dr as DialogResult = Messagebox.Show("Wirklich beenden?", ....)
um eine dialog-Messagebox anzuzeigen.
je nach DialogResult (DialogResult.Cancel oder DialogResult.Ok) kannst du dann e.Cancel auf true oder false setzen und damit das shcliessen des Fensters rückgängig machen.
Wenn es das Hauptfesnter der Anwendung ist, dann würde auch ein Application.Exit() diesen Event auslösen.
Wie du siehst, es ist wirklich ziemlich trivial, solcheine Nag-Funktion einzubauen.
Grüessli, Frank
P.S. Man möge meine Rechtschreib- und Grammatikfehler verzeihen, es isch ifach z'vil Appezellä gsi.