Entwickler-Ecke

WinForms - Ereigniss wenn Taste in einer dataGridView-Zelle gedrückt


Spielcind - Mo 14.12.09 21:07
Titel: Ereigniss wenn Taste in einer dataGridView-Zelle gedrückt
Hallo,

es muss doch ein Ereignis für die dataGridView Zellen wenn eine Taste gedrückt wird!?


KeyPress funtioniert nur wenn ich mit den Pfeiltasten von einer zur anderen Zelle springe. Nun schreibe ich aber etwas in diese Zelle und möchte den Inhalt direkt in einer textBox anzeigen (wie bei Excel).

TextChanged geht nur wenn man die Zelle verlässt.


Hab noch ein paar andere ausprobiert - leider ohne Erfolg. Vielleicht kann mir ja einer von euch helfen?


Danke.

SpielCind


JüTho - Di 15.12.09 09:49

Hallo,

das Problem liegt darin, dass das DGV mehrere Arten von Zellen verwaltet und zur Eingabe aktuell eine bestimmte Art einblendet. Für alle TextBox-Zellen gibt es z.B. genau eine TextBox, die wirklich als Eingabefeld genutzt wird; nur innerhalb dieser Textbox sind bestimmte Ereignisse von Bedeutung.

Du kannst so vorgehen: Im Ereignis EditorControlShowing wird das aktuell benötigte Control positioniert und aktiviert. Dort kannst du einen bestimmten EventHandler anhängen und damit das betreffende Ereignis auswerten. Sinnvollerweise sollte (z.B. bei CellLeave) der EventHandler "abgehängt" werden.

Ich hoffe, das hilft weiter. Jürgen