IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Désactiver tabindex des boutons


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut Désactiver tabindex des boutons
    Bonjour,
    J'utilise VB.net 2010 et J'ai crée un form qui contient plusieurs bouton.Et après la sélection d'un bouton je veux si je click sur le flèche droit du clavier la sélection se déplace vers le bouton a droite, si je click sur le flèche haut du clavier la sélection se déplace vers le bouton en haut.
    J'ai essayé avec le code si dessous mais quelque soit le fleche il suit l'ordre du tabindex.
    Est il possible de desactiver le tabindex? ou y a t il d autre solution?
    Et j'ai trouvé dans google cette solution mais je ne sait pas comment l'adapter avec mon code ci dessous qui est expliqué avec le paragraphe en rouge

    KeyPreview ne fonctionne que pour InputKeys. Certaines touches (tels que les flèches, Tab, Entrée, ...) sont considérés comme "spéciaux" et exigent des clés pré-traitement. Normalement, ces touches sont utilisées pour naviguer à travers les contrôles d'un formulaire qui peut recevoir le focus (flèches et les touches Tab) ou d'exécuter la méthode par défaut du contrôle (Ex.: la touche Entrée effectuera l'événement click d'un bouton).
    Toutes les catégories sur la base des System.Windows.Forms.Control disposer d'une méthode de protection Overridable nommé IsInputKey qui renvoie true si la clé spécifiée est une clé d'entrée régulier, sinon fausse. Si elle retourne false, l'événement clé n'est pas envoyé par la forme même lorsque KeyPreview a la valeur True.
    Pour éviter cela, vous pouvez sous-classe et un bouton (ou dans votre contrôle utilisateur) créer une méthode de substitution IsInputKey qui retourne vrai pour toutes les touches dont vous avez besoin et voici le code a adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Protected Overrides Function IsInputKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
    Select Case keyData
    Case Keys.Up, Keys.Down, Keys.Left, Keys.Right, Keys.Enter, Keys.Tab
    Return True
    End Select
    End Function
    :


    Merci de m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub btn1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles button1.KeyDown
     
            If e.KeyCode = Keys.Down Then
               Button2.Select()
            End If
            If e.KeyCode = Keys.Right Then
                Button4.Select()
            End If
            If e.KeyCode = Keys.Enter Then
                Me.Hide()
                form3.Show()
            End If
        End Sub

  2. #2
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Je suis pas sur d'avoir tout compris, car moi j'ai jamais reussi a cliquer sur une touche du clavier ...
    Plus serieusement, c'est pas sur le button, mais sur la form en cours qu'il faut gerer le keydown.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Citation Envoyé par Danyel Voir le message
    Je suis pas sur d'avoir tout compris, car moi j'ai jamais reussi a cliquer sur une touche du clavier ...
    Plus serieusement, c'est pas sur le button, mais sur la form en cours qu'il faut gerer le keydown.
    J'ai tous gérer avec le keydown mais pas de solution mais j'ai trouvé une solution tu peux m'aider a l'adapter avec mon code.

Discussions similaires

  1. Désactivation des boutons Suivant et Précédent du navigateur Web
    Par dtcSearch dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/04/2010, 15h47
  2. [TActionManager] images des boutons désactivés
    Par Zaki_SDwin dans le forum Composants VCL
    Réponses: 0
    Dernier message: 06/01/2009, 14h36
  3. Désactivation d'un bouton selon des checkbox
    Par Stukk dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 17/11/2008, 15h51
  4. Désactiver (griser) des boutons
    Par labrute dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 05/05/2008, 16h26
  5. Réponses: 2
    Dernier message: 15/05/2007, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo