.NET WinForms 3.5 Ultrawingrid 9.2Comment quitter la grille avec ctrl-TAB lorsque la grille est sur une tabpage (onkeydown travaux lorsque grille pas tabpage)
Dans ma sous-classe de Ultrawingrid.Ultragrid:
Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Windows.Forms.Keys.Tab andalso e.control = True then
SetFocusToNextControl(True)
End if
Mybase.OnKeyDown(e)
End Sub
Cela fonctionne très bien. Mais lorsque la grille est supprimée sur un onglet TabControl, l'onglet ctrl est très différent de celui ci-dessus. e.keycode est vu comme controlkey {17}
Je réalise que par défaut cntrl-Tab se déplace entre les onglets. Je dois contourner ce comportement. Ma pensée est que j'ai probablement besoin d'une sous-classe du tabControl qui passera le keycombo à travers tout comme la forme le fait mais j'avoue n'avoir aucune idée de la façon d'accomplir cela. J'ai essayé de surcharger l'onkeydown d'une sous-classe tabcontrol et juste d'émettre un return et not et base appel à onkeydown si le combo ctrl-tab a été pressé mais il a semblé voir le e.keycode comme clé de contrôle. FWIW J'ai essayé une combinaison différente, comme ctrl-E, et j'ai obtenu à peu près le même résultat avec un focus qui disparaissait de la grille, mais qui n'allait nulle part que je pouvais détecter. Le sous-marin voyait toujours l'e.control comme clé de contrôle.
Bizarrement, ctrl-X, ctrl-A etc. fonctionnent tous dans la grille et un combo ctrl-Delete que j'ai mis dans la sous-classe pour supprimer une ligne fonctionne bien.
Encore une fois - grille directement sur la forme et tout fonctionne.
Je suis définitivement au-dessus de ma tête sur celui-ci. Orientation très appréciée. vb ou C# bien.
TIA