xbu58
Mitglied
Hallo
Ich habe mir eine Selector-Komponente geschrieben, mit der ich Bildteile auswählen kann. Die Komponente ist von Control abgeleitet. Soweit funktioniert alles, solange ich mit der Maus den Selector bediene. Nun möchte ich aber auch mit der Tastatur den Selector verschieben oder vergrössern/verkleinern können. Dazu habe ich die Methode OnKeyDown überschrieben. Auch das funktionert, solange ich die Pfeiltaste mit Kontrol, Alt oder Shift kombiniere. Wenn ich jedoch die Pfeiltasten verwende, ohne dass ich eine der Umstallt-Tasten verwende, wird die Methode nicht aufgerufen.
Was ich festgestellt habe ist, dass dann der Fucus auf eine anderes Objekt wechselt, anstatt dass die Methode aufgerufen wird.
Nun die Frage: Weiss jemand, wie man einem Control beibringen kann, dass das nicht mehr passiert?
Danke und Gruss
Xaver
Ich habe mir eine Selector-Komponente geschrieben, mit der ich Bildteile auswählen kann. Die Komponente ist von Control abgeleitet. Soweit funktioniert alles, solange ich mit der Maus den Selector bediene. Nun möchte ich aber auch mit der Tastatur den Selector verschieben oder vergrössern/verkleinern können. Dazu habe ich die Methode OnKeyDown überschrieben. Auch das funktionert, solange ich die Pfeiltaste mit Kontrol, Alt oder Shift kombiniere. Wenn ich jedoch die Pfeiltasten verwende, ohne dass ich eine der Umstallt-Tasten verwende, wird die Methode nicht aufgerufen.
Code:
protected override void OnKeyDown(KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Left:
if (e.Control)
System.Media.SystemSounds.Beep.Play();
else
System.Media.SystemSounds.Exclamation.Play();
break;
default:
base.OnKeyDown(e);
break;
}
}
Nun die Frage: Weiss jemand, wie man einem Control beibringen kann, dass das nicht mehr passiert?
Danke und Gruss
Xaver