Guten Tag allerseits
Da das C# Microsoft DataGridView eher zu den langsamen Grids im Darstellen der Daten ist, habe ich begonnen ein eigenes DatenGrid zu erstellen.
Abgeleitet ist meine Klasse vom Control.
Nun bin ich auf ein Problem gestossen welches mir etwas Kopfschmerzen bereitet, da ich grad keine Lösung finde.
Beim original-DataGridView kann man via TAB zwischen den einzelnen Spalten wechseln. Ich möchte dies auch.
Sprich ich habe versucht das TAB-Ereigniss zu bekommen, und das würde auch funktionieren. Das Problem ist aber dass der TAB weiter geht und den Focus auf das nächste Control setzt.
Ich möchte aber gerne in meinem Control bleiben und muss nun somit verhindern dass das TAB-Event "weitergeleitet" wird.
Die OnPreview-Geschichte bekommt zwar das Ereignis, aber leitet es trozdem weiter
Das OnKeyDown-Event reagiert überhaupt nicht auf den TAB.
Meine Vermutung war noch dass das Ereigniss in der Form aufzuhalten ist. Dort kommt aber auch kein TAB-Event an. Weder im OnKeyDown noch im WndProc :-(
Und das Flag PreviewKeyDown ist auf True gesetzt.
Gibt es denn eine andere Möglichkeit den Tab zu verhindern? Ich möchte ungern beim verlieren des Focus den Focus zurückholen
Danke Für Eure Hilfe. Irgendwie hab ich wohl gerade ein Brett vor dem Kopf.
Grüsse
Dani
Da das C# Microsoft DataGridView eher zu den langsamen Grids im Darstellen der Daten ist, habe ich begonnen ein eigenes DatenGrid zu erstellen.
Abgeleitet ist meine Klasse vom Control.
Nun bin ich auf ein Problem gestossen welches mir etwas Kopfschmerzen bereitet, da ich grad keine Lösung finde.
Beim original-DataGridView kann man via TAB zwischen den einzelnen Spalten wechseln. Ich möchte dies auch.
Sprich ich habe versucht das TAB-Ereigniss zu bekommen, und das würde auch funktionieren. Das Problem ist aber dass der TAB weiter geht und den Focus auf das nächste Control setzt.
Ich möchte aber gerne in meinem Control bleiben und muss nun somit verhindern dass das TAB-Event "weitergeleitet" wird.
Die OnPreview-Geschichte bekommt zwar das Ereignis, aber leitet es trozdem weiter
Code:
protected override void OnPreviewKeyDown(PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Tab)
{
return;
}
base.OnPreviewKeyDown(e);
}
Das OnKeyDown-Event reagiert überhaupt nicht auf den TAB.
Meine Vermutung war noch dass das Ereigniss in der Form aufzuhalten ist. Dort kommt aber auch kein TAB-Event an. Weder im OnKeyDown noch im WndProc :-(
Und das Flag PreviewKeyDown ist auf True gesetzt.
Gibt es denn eine andere Möglichkeit den Tab zu verhindern? Ich möchte ungern beim verlieren des Focus den Focus zurückholen
Danke Für Eure Hilfe. Irgendwie hab ich wohl gerade ein Brett vor dem Kopf.
Grüsse
Dani