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 :

commande SHIFT + TAB


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2011
    Messages : 66
    Par défaut commande SHIFT + TAB
    (Re) Bonjour,

    Je refais appel à vous, dans une nouvelle discussion car je penses que ca peut être utile à d'autres !
    Donc j'aurais aimé que lorsque l'utilisateur (novice) appuie sur F2 le curseur revienne au champ (TabIndex) précédent.
    Toujours pareil j'ai une base qui marche lors d'un KeyPress mais dans mon cas (KeyDown) ca ne fonctionne pas.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
     
    Dim ctr3 As TextBox
            ctr3 = CType(sender, TextBox)
     
            If e.KeyCode = Keys.F2 Then
                Me.SelectNextControl(ctr3, False, True, True, True)
                Exit Sub
            End If
    End Sub
    Apparemment l'erreur se situe au niveau de ctr3 = CType(sender, TextBox). Une idée ?

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    2 choses :

    - Tu déclares "ctr" et tu utilises "ctr3" (EDIT :corrigé apparemment)
    - Quand tu as ce genre d'erreur met un point d'arrêt et regarde ce qui ne va pas. Dans ce cas tu dis que l'erreur est sur la ligne Ctype, ce qui signifierais que ton sender n'est pas un textbox, avec un point d'arrêt + espion tu sauras quel est ton sender.

    De plus ta logique n'est pas bonne, si l'utilisateur fait F2 sur tout autre control qu'un textbox ça plantera, tu devrais en premier lieu regarder de quel type est ton sender, ainsi tu corrigeras ton erreur.

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Re,

    je te renvoie à notre précédente discussion.

    L'erreur vient bien de ce bout de code car ce n'est pas les textBox qui lèvent l’évènement mais ta Form1.

    Si tu voulais que se soit les textBox qui lèvent l’évènement il te faut reprendre le code de griftou.

    P.S. : L'utilisateur peut déjà dans Windows passer les contrôles en sens inverse avec MAJ + TAB, une petite phrase le précisent dans ton application serait peut-être mieux que d'habituer les utilisateurs à un autre raccourcis qui n'existera que dans ton application. (c'est juste ma façon de penser hein )

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonsoir
    le mot clé Handles à la fin d'une déclaration de procédure, impose que le contrôle cité explicitement à sa suite est le seul à gérer l'événement.
    (On peut en désigner plusieurs).
    C'est ou se sont le ou les "sender".
    En l’occurrence, ici "sender" est donc le formulaire et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ctr3 = CType(sender, TextBox)
    Lèvera une exception, caster un Form en TextBox n'est pas impossible.

    Tout à fait d'accord avec Sankasssss et aussi le fait de désorienter l'utilisateur avec de nouveaux raccourcis.

    Néanmoins, cela reste faisable si Me.KeyPreview = True :

    - Si la touche appuyée est F2,
    - On récupère le contrôle actif,
    - si celui ci est de type TextBox... Alors action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
     
            If e.KeyCode = Keys.F2 Then
                Dim ctr3 As Control
                ctr3 = Me.ActiveControl
     
                If TypeOf ctr3 Is TextBox Then
                    Me.SelectNextControl(ctr3, False, True, True, True)
                End If
            End If
     
        End Sub

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2011
    Messages : 66
    Par défaut
    Merci pour vos réponses !

    P.S. : L'utilisateur peut déjà dans Windows passer les contrôles en sens inverse avec MAJ + TAB, une petite phrase le précisent dans ton application serait peut-être mieux que d'habituer les utilisateurs à un autre raccourcis qui n'existera que dans ton application. (c'est juste ma façon de penser hein )
    En voulant faire simple il est vrai que je complique la chose
    Je prévois de faire une feuille explicative avec, pour que les utilisateurs comprennes facilement.

    asmduty je ne peux pas faire ce genre de test car je ne développe pas pour un pc mais pour une "sorte" de pistolet à code barre avec Windows Ce 5.0 dessus et je n'ai pas d'émulateur sur le PC !

    Merci à tous en tout cas.
    Super communauté.

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    @Sankasssss : chrismonoye répond à la question que je posais hier à savoir : "comment connaitre le contrôle dans lequel se trouve le user si on travaille avec la propriété keypreview ?".

    Ca va me changer la vie cette propriété ^^

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Citation Envoyé par Dewey12 Voir le message
    asmduty je ne peux pas faire ce genre de test car je ne développe pas pour un pc mais pour une "sorte" de pistolet à code barre avec Windows Ce 5.0 dessus et je n'ai pas d'émulateur sur le PC !
    pratique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code Java de la commande CTRL + SHIFT + M
    Par titanic3d dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 25/04/2012, 19h25
  2. [C#] SourceGrid : pas de shift+tab ?
    Par annalady dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/05/2006, 17h48
  3. Gérer le ALT-TAB ?
    Par Magus (Dave) dans le forum DirectX
    Réponses: 15
    Dernier message: 04/01/2004, 00h43
  4. OnKeyDown avec TAB et SHIFT TAB
    Par StarMusic dans le forum Composants VCL
    Réponses: 2
    Dernier message: 18/12/2003, 12h21
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

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