Die Sondertasten (Ctrl, Shift, Alt) kannst du über die statische Variable Control.ModifierKeys abfragen.
Andere Tasten kannst du im KeyUp/Down-Ereignis des Forms als lokale (bool)-Variable anlegen und abfragen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| private bool key_pressed = false;
void form_KeyDown(object sender, KeyEventArgs e) { if(e.Key == Keys.T) key_pressed = true; }
void form_KeyUp(object sender, KeyEventArgs e) { if(e.Key == Keys.T) key_pressed = false; }
void panel1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if(key_pressed) { ... } } |
Beachte: Die Eigenschaft 'KeyPreview' bei deiner Form sollte (bzw. muß) dann 'true' sein!
(bestimmte Sondertasten wie Tab, Return, ESC kannst du so jedoch nicht abfragen; da benötigst du dann andere Methoden wie z.B. IsInputKey()).