Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Validation des controles et navigation dans le form

1 réponse
Avatar
Ear Plugs
Bonjour le ng,

Dans un windows-form avec des contol box simples et un bouton.
n'y a t il pas un moyen pour que la touche [Entrée] se comporte par défaut
comme [Tab] autrement qu'en trappant l'aperçu des touches sur le formulaire
?

L'idéal étant de parcourir les éléments avec la même touche jusqu'à finir
avec le bouton de validation global.

Question de super débutant, merci de ne pas se moquer.

Tschüß

1 réponse

Avatar
OD
> Dans un windows-form avec des contol box simples et un bouton.
n'y a t il pas un moyen pour que la touche [Entrée] se comporte par défaut
comme [Tab] autrement qu'en trappant l'aperçu des touches sur le formulaire
?



Le problème c'est que Windows répond à un cahier des charges
ergonomique précis, on l'aime ou pas n'est pas la question bien
entendu, mais c'est comme ça. Le passage d'un champ à un autre c'est
Tab et shift-Tab, Enter valide, c'est son sens (unique. sans jeu de mot
:-) ).
Vouloir détourner les fondements ergonomiques de windows pose toujours
des petits problèmes de logique ici ou là à un moment donné, de plus
rien n'est fait pour faciliter ces changements, ce qui est normal et
logique.
Donc pour répondre à ta question, le plus simple c'est de connecter le
keypressed ou le keydown de tous tes textbox à un gestionnaire
d'événement central qui agira comme Tab.
par exemple (mais il existe plein de façons de le faire) :
if (e.KeyCode == Keys.Enter) SendKeys.Send("{TAB}");

Attention toutefois à ce que je disais plus haut, à savoir que
lorsqu'on touche à la logique ergonomique de Windows ça finit
rapidement par poser des pb. Exemple tout simple : si tu as un textbox
en mode multiligne...et oui, plus de multiligne car au premier Enter ça
passera au controle suivant. Deux solutions : ne pas gérer le Enter/tab
sur ce controle là, mais du coup c'est ton ergonomie à toi qui devient
bancale vis à vis de l'utilisateur... ou bien gérer une astuce du type
ctrl-enter qui ne fait pas un tab mais un enter. ça se complique pour
l'utilisateur !

Amuse toi bien (et pense toujours à l'utilisateur !)

--

Olivi3r_____

Dot.Blog - C# LINQ VS ...
www.e-naxos.com/blog