Bouger le focus sur un groupe, et l'empêcher de passer à un autre groupe [VB][WP
Jayme65
Messages postés60Date d'inscriptionlundi 23 avril 2007StatutMembreDernière intervention26 mars 2019
-
12 nov. 2011 à 16:13
Utilisateur anonyme -
12 nov. 2011 à 23:14
Bonjour,
Désolé pour le titre du sujet qui est un peu obscure, je m'en rends compte ;-)
Voila, avec une image ce sera plus facile:
Nous sommes dans une fenêtre gérant les préférences du programme.
Note importante: tous les déplacements se font au clavier, avec les curseurs, et la touche "1" pour sélectionner un bouton.
Voila ce que je dois accomplir:
Avec le curseur, je me déplace à travers les boutons (ce sont en fait des "checkbox") et je valide ma préférence en pressant la touche "1" (tout ca, c'est bon et ca marche!)
MAIS, si je sélectionne le bouton "Genre" je dois "activer" une liste déroulante et y faire mon choix (par "1") puis presser sur "2" pour quitter ce "sous-menu" et revenir à la navigation normale à travers les boutons.
Ma question:
----------------
Comment, après avoir sélectionner "Genre", puis-je dorénavant "réserver" le curseur "haut/bas" à cette liste déroulante (et éviter par exemple que le focus atteigne les autres boutons). Puis, quand l'utilisateur en a terminer et presse "2" sur son clavier, remonter dans la hiérarchie et naviguer à nouveau uniquement à travers les boutons!
(j'espère que tout cela est clair?! ;-)
Pour l'instant, ce que j'ai fait: quand le bouton "Genre" est sélectionné, je déclare que la "grid" qui contient les éléments peut recevoir le focus..et le prends:
genreGris.IsFocusable = True
genreGrid.Focus()
Et en effet, la "grid" qui jusqu'à là était ignorée dans le déplacement par curseur est maintenant prise en compte. Le problème, c'est qu'au premier "haut/bas" avec le curseur, je "repars" vers les boutons.
En résumé:
--------------
Comment puis je "réserver" le déplacement par curseur à certaines parties de ma fenêtre.
D'abord pouvoir naviguer à travers plusieurs groupes de "checkbox", puis se limiter à une seule zone (Grid ou StackPanel), et pouvoir revenir en arrière
Merci de m'avoir lu et pour l'aide que vous voudrez bien m'apporter!
A voir également:
Bouger le focus sur un groupe, et l'empêcher de passer à un autre groupe [VB][WP
Jayme65
Messages postés60Date d'inscriptionlundi 23 avril 2007StatutMembreDernière intervention26 mars 20192 12 nov. 2011 à 20:18
acive,
Merci pour ta réponse!
Oui, j'imagine que cela pourrait marcher...mais vois-tu, le problème est que je n'utilise pas de listBox...pour plusieurs raisons (propre à mon programme) j'ai du faire autrement et ce sont en fait un groupe de label qui sont compris dans ce grid ou stackpanel.
La question reste la même: il faut que je puisse "rentrer" dans une grid et ne plus en sortir jusqu'à ce que la commande en soit donnée
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 12 nov. 2011 à 20:31
Lorsque tout, sauf ce que l'on veut autoriser est inhibé (propriété enabled), l'utilisateur n'a pas d'autre choix que de s'y conformer
Intelligible ? (j'espère que oui)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Exact, la solution de UC peut aussi marcher:
En d'autres thermes tu rends tous tes contrôles disable sauf ta liste de labels.
Tu dois aussi jouer avec le Label_GotFocus/LostFocus et Label.BackColor pour savoir lequel a le focus je pense.
Je pense aussi que ce n'est pas une bonne idée de placer des labels, nous avons des listbox, combobox etc qui sont parfaitement adaptés à cet effet et ça t'aurait évité ce genre de problèmes.