Entwickler-Ecke

WinForms - UserControl beenden


Talemantros - Di 11.11.14 22:15
Titel: UserControl beenden
Hallo nochmal,

mit eurer Hilfe hatte ich es ja so gelernt, dass ich ein UserControl erstelle, welches ich zur Laufzeit in eine Winform laden und mit Dock.Fill anzeigen lasse.

Nun würde ich gern das Winform mit "Escape" beenden können.

Die Eigenschaft "CancelButton" geht aber nur für Buttons auf der Winform und nicht in der UserControl.

Wie kann ich da vorgehen?

Danke

Gruß
Daniel


Yankyy02 - Di 11.11.14 22:48

Hallo Talemantros,

wenn du Forms benutzt musst du die KeyPreview Eigenschaft der Form auf true setzen damit die Form Tastatur eingaben entgegen nimmt. Anschlißend kannst mit

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Escape)
     {
          this.Close();
     }
}


die Form schließen.

LG
Gery


Talemantros - Mi 12.11.14 15:31

Hey Yankyy02,
vielen Dank für den Tipp.
Werde ich nachher sofort austesten, wenn ich zu Hause bin.

Gruß
Daniel


Ralf Jansen - Mi 12.11.14 18:11

Was spricht gegen den Windows Standard ALT+F4?


Talemantros - Sa 15.11.14 12:42

Hallo Ralf,
ALT+F4 würde ja die ganze Anwendung beenden.
Ich möchte nur geöffnete Forms innerhalb der Hauptanwendung mit Escape schließen können.

Gruß
Daniel


Ralf Jansen - Sa 15.11.14 12:56

ALT+F4 schließt das fokussierte Fenster sonst nix. Nur wenn das fokussierte Fenster so verdrahtet ist das damit auch das beenden der Anwendung zusammenhängt (Winforms macht das z.B. im Standardfall mit seiner Startform so) beendet das auch die Anwendung. Aber es gibt keinen direkten Zusammenhang zwischen Alt+F4 und dem beenden einer Anwendung.