Entwickler-Ecke

WinForms - KeyEvent kommt nicht an


Patrick2211 - Mo 16.03.09 19:31
Titel: KeyEvent kommt nicht an
Hallo,
ich habe eine einfaches Steuerlement mit einer PictureBox.
Ich möchte nun einige Key-Events abfangen und eine Action auslösen.

Ich fang nun ein Event mit:
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.OnKeyUp);
ab.

Jedoch kommt kein Tastendruck dort an! Erst wenn ich die PictureBox entferne wird ein Event ausgelöst.
Muss ich noch irgendwie ein Focus setzen? wenn ja mit Focus() geht es nicht.


JüTho - Mo 16.03.09 20:47

Hallo Patrick und :welcome:

Mich wundert, dass der Compiler nicht meckert. this.OnKeyUp ist "von Haus aus" eine Methode des Formulars, sollte aber kein spezieller EventHandler der PictureBox sein. Warum hast Du keinen EventHandler PictureBox_KeyUp(sender, KeyEventArgs)?

Wenn es sich um eine zentrale Routine für das ganze Formular handeln soll, muss Form.KeyPreview gesetzt werden.

Jürgen


Patrick2211 - Mo 16.03.09 21:20

Hallo,
ich benötige einen zentrale routine für die KeyEvents und nicht nur für die PicBox.

Leider geht dein Rat mit dem Form.KeyPreview nicht. Deise Eigenschaft hat mein Steuerelement nicht.
Eine idee?


Patrick2211 - Mo 16.03.09 21:26

Hat sich gerad erledigt.

Musste in der Form das KeyPreview setzen. dann kommt auch jedes Key event an!

danke


JüTho - Di 17.03.09 10:41

Auch wenn mich Christian wieder kritisieren wird:
user profile iconPatrick2211 hat folgendes geschrieben Zum zitierten Posting springen:
Musste in der Form das KeyPreview setzen. dann kommt auch jedes Key event an!

Genau das hatte ich doch geschrieben (Hervorhebung jetzt eingefügt):
user profile iconJüTho hat folgendes geschrieben:
muss Form.KeyPreview gesetzt werden.

Genaues Lesen hilft wirklich! Jürgen