Wie kann ich in C# bestimmen, was passiert, wenn ich den Close-Button drücke?
Hallo, allerseits. Ich habe schon einige Beiträge bei Stackoverflow & co gelesen, habe das aber nicht verstanden. Gibt es da eine einfache if-Abfrage, wie:
if(CloseButton==Clicked) {
Messsagebox.show();
}
Windows Form C# Projekt?
Sorry, hab vergessen das hinzuschreiben, ist aber eine WPF Anwendung
3 Antworten
Du kannst ein Event hinzufügen, wenn dein Fenster geschlossen wird. Da gibt es 2 Events, einmal vor dem Schließen des Fensters und einmal wenn es schon geschlossen ist.
Das Erstere kannst du ganz einfach abbrechen, dann schließt sich das Fenster nicht.
Beispiel:
XAML:
<Window ... Closing="Window_Closing">
CS:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
var res = MessageBox.Show("Soll das Fenster wirklich geeschlossen werden?", "Achtung", MessageBoxButton.YesNo);
if (res != MessageBoxResult.Yes)
{
e.Cancel = true;
}
}
Du gehst in dein Window in der Grafik-Editoransicht, klickst auf den Titel.
Unten rechts in den Eigenschaften auf den Blitz (für Events) und dann entweder bei "Closed" oder "Closing" ein Doppelklick.
Closed wird ausgeführt, wenn das Fenster geschlossen ist.
Closing wird ausgeführt, wenn du den Knopf drückst, bevor das Fenster geschlossen wird.
Dann hast du beispielsweise solch einen Quellcode:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
}
das müsste ein event management sein und entsprechend in der event function z.b. ein wert setzen und dann an anderer stelle prüfen ob der wert gesetezt wurde . .
Wie komm ich in diese ansicht?