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 :

vb2008 fleches haut et bas


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut vb2008 fleches haut et bas
    Bonjour à tous,

    Je cherche à utiliser (en vb2008) les flêches haut et bas pour passer de textbox en textbox dans un formulaire.
    J'ai testé tout ce qui m'est passé sous la main, mais en vain.
    Je bloque depuis quelques jours. Merci de votre aide. Yop73

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Ce que je vais te proposer est un peu laid, mais ça marche :
    Tu récupères l'évènement TextBoxN.KeyDown : on te passe un paramètre "e" qui désigne la touche appuyée. Tu fais le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e.KeyCode = System.Windows.Forms.Keys.Down
    Et tu fais TextBoxM.focus()

    Il faut donc que tu fasses la même pour chaque textbox...
    (remplacer down par up dans l'autre cas...)

    C'est moche, hein ?

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    y a deja un peu plus beau :
    sur keydown tu donne le focus au control donc le tabindex = le tabindex de celui qui est sélectionné -1
    et +1 sur keydown

    donc ca fait une seule sub, abonnée à x évènements

    ou alors pour voir pour faire un sendkeys Tab ou Shift+Tab, parce que je suis pas sur que le key du keydown est remplacable (et le keypress ne recoit pas les flèche ...)

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci de vos réponses !!!

    J'ai un petit problème néanmoins :

    Private Sub NomTabAjout_Keydown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles NomTabAjout.KeyPress


    If e.KeyCode = System.Windows.Forms.Keys.Down Then PrenomTabAjout.Focus()


    End Sub
    Fait une erreur :
    'KeyCode' n'est pas un membre de 'System.Windows.Forms.KeyPressEventArgs'

    Ai-je fait une bétise ?

    Merci

    Yop73

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    La signature de ton handler d'évènement ne correspond pas à celle du délégué KeyEventHandler... le 2eme paramètre devrait être de type KeyEventArgs, et non KeyPressEventArgs. KeyEventArgs contient bien la propriété KeyCode

  6. #6
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Avec un KeyPreview sur la form et en gérant le Up and Down directement dans la form :
    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
    17
    18
     
    Public Class Form9
     
        Private Sub Form9_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
            If e.KeyCode = Keys.Up Then
                Dim c As Control = Me.GetNextControl(Me.ActiveControl, False)
                If Not c Is Nothing Then
                    c.Focus()
                End If
            End If
            If e.KeyCode = Keys.Down Then
                Dim c As Control = Me.GetNextControl(Me.ActiveControl, True)
                If Not c Is Nothing Then
                    c.Focus()
                End If
            End If
        End Sub
    End Class
    Mais bon, c'est pas terrible comme méthode, le mieux serait de faire un textbox personnalisé qui gére le Up et Down comme Tab et Shift+Tab.
    Car avec ça, tout les controls sont concernés (tu peux toujours limiter en fonction du type de Me.ActiveControl mais ça reste moyen).

    EDIT :
    Un control perso comme :
    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
    17
    18
    19
    20
     
    Public Class TUpDown
        Inherits TextBox
     
        Private Sub T_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
            If e.KeyCode = Keys.Up Then
                Dim c As Control = Me.FindForm.GetNextControl(Me.FindForm.ActiveControl, False)
                If Not c Is Nothing Then
                    c.Focus()
                End If
            End If
            If e.KeyCode = Keys.Down Then
                Dim c As Control = Me.FindForm.GetNextControl(Me.FindForm.ActiveControl, True)
                If Not c Is Nothing Then
                    c.Focus()
                End If
            End If
        End Sub
     
    End Class
    Me semble plus approprié.

    Reste plus qu'à l'utiliser en lieu et place du TextBox standard.

    Cdt.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Pratique le GetNextControl, je connaissais pas...

  8. #8
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Re.

    Je repost car Tom a été trop rapide et que j'ai éditer le post précédent !

    Donc cf post précédent.

    Cdt.

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

Discussions similaires

  1. bouton fleche haut et bas en Vb.net
    Par emayen01 dans le forum VB.NET
    Réponses: 4
    Dernier message: 12/06/2009, 14h29
  2. JPopUpMenu Fleches hauts et bas pour rester dans l'ecran.
    Par shiryuseiya dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 09/07/2007, 16h49
  3. Pb touche fleche haut et Bas
    Par Andry dans le forum Delphi
    Réponses: 5
    Dernier message: 23/10/2006, 11h53
  4. [HTML] Tableaux Ancre en haut et bas de page
    Par codez dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/03/2006, 14h35
  5. Application le haut en bas
    Par marchenchuches dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/09/2005, 12h42

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