Bonjour,
Sur une fenêtre de mon application j'aimerais faire des tabulations mais avec la touche "Right Arrow" (flèche de droite), mais je ne sais vraiment pas pas où commencer.
Si vous avez des idées je suis preneur
Merci,
Jean-François.
Bonjour,
Sur une fenêtre de mon application j'aimerais faire des tabulations mais avec la touche "Right Arrow" (flèche de droite), mais je ne sais vraiment pas pas où commencer.
Si vous avez des idées je suis preneur
Merci,
Jean-François.
Pour moi l'idée c'est de s'abonner au keydown sur le window, puis si c'est la touche que tu veux, simuler un appuis TAB.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 private void Window_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Right) { KeyEventArgs args = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Tab); args.RoutedEvent = Keyboard.KeyDownEvent; InputManager.Current.ProcessInput(args); } if (e.Key == Key.Tab) { MessageBox.Show("tab!"); } }
Il faut ajouter l'événement KeyPress/KeyDown/KeyUp au control qui t'interesse et gérer ce que tu veux faire ensuite.
EDIT : Devancé
Bon en fait j'ai testé ca marche pas tip top si le focus est sur une textbox par exemple. Peut être envoyer un "Preview Event" mais j'y arrive pas![]()
Pour la simulation je suis d'accord, mais par contre, le KeyDown de ma fenêtre ne marche pas.
Par exemple si ma fenêtre est "frm_ajout" ;
sur "frm_ajout_KeyDown" ou "KeyPress" rien ne se déclenche lorsque j'appuie sur une touche...
J'avais déjà eu ce problème et j'avais du mettre ma fonction sur chaque KeyDown ou KeyPress de mes contrôles de la fenêtre...
Même si je fais un simple
J'ai aucun pop-up...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private void frm_ajout_profil_KeyDown(object sender, KeyEventArgs e) { MessageBox.Show("hello"); }
Question bête :
t'as bien associé par xaml ou par code l'event keypress avec cette méthode?
Sinon ce qui peut se passer c'est que des controls plus bas dans la hiearchie empeche le keydown d'arriver ( e.handled =true), on peut avoir un peu de code xaml?
Heu j'ai pas trop compris ta question"xaml" ?
Pour générer l'event, je clique sur ma fenêtre, je vais dans le gestion de Propriétés > Evénements > KeyDown...
Après je met mon code dedans.
Est-ce que c'est parce que j'ai un GroupBox ?
Partager