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

Windows Forms Discussion :

gestion des textbox avec un index


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut gestion des textbox avec un index
    Sous VB6 pour la gestion des touches dans les textbox on avait la possibilité de gérer tous les textbox avec un index, quel en serait l'équivalent en VB.NET


    EN VB6 sa donne ceci:
    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
     
    Private Sub Text_KeyPress(Index As Integer, KeyAscii As Integer)
     
        Select Case Index
     
            Case 5, 6, 7
     
                If KeyAscii = Asc(".") Then KeyAscii = Asc(",")
     
        End Select
     
        If KeyAscii = 13 And Index < Text.Count - 1 Then
            KeyAscii = 0
            Text(Index + 1).SetFocus
        End If

  2. #2
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Il y a plusieurs méthodes possibles. Par exemple
    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
        Private Sub TextBox_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox2.KeyPress, TextBox3.KeyPress
            Dim toto As TextBox = CType(sender, TextBox)
            Select Case CInt(toto.Name.Substring(7, 1))
                Case 1
                    MsgBox("texte 1")
     
                Case 2
                    MsgBox("texte 2")
     
                Case 3
                    MsgBox("texte 3")
     
            End Select
     
        End Sub

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Il n'y a donc plus possibilité d'utiliser un Index alors?

    ce qui en 4 lignes permettais d'utiliser la touche ENTER pour passer d'un textbox a l'autre.
    (c'est surtout cela qui m'interesse)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Text_KeyPress(Index As Integer, KeyAscii As Integer)
     
        If KeyAscii = 13 And Index < Text.Count - 1 Then
            KeyAscii = 0
            Text(Index + 1).SetFocus
        End If
     
    End Sub

  4. #4
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    rien n'empecherai d'utiliser une collection de controle. Cependant dans ton cas, il suffit de placer correctement les TabIndex et de gérer un code du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Private Sub TextBox22_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox22.KeyDown
            If e.KeyCode = Keys.Enter Then My.Computer.Keyboard.SendKeys("{TAB}")
        End Sub

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Dejà fait, mais lorsque je controle d'autre touche j'ai des problèmes dans les textbox, je ne peux plus editer les textbox !!!!!!!!!!!!!!

    Et il faut le mettre dans l'événement Keypress ou KeyDown de chaque textbox
    oups, j'en ai 37 sur mon form


    Ci-dessous, sa fonctionne en partie , l'edition du textbox pose parfois un stut, je peux effacer le contenu, mais rien en modifier

    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
     
    Private Sub NomTextBox_KeyPress(ByVal sender As Object, ByVal e As 
    System.Windows.Forms.KeyPressEventArgs) Handles NomTextBox.KeyPress
                e.Handled = True
                GestionClavier(Asc(e.KeyChar)) 'Appel la gestion du clavier
    End Sub
     
     
    Private Sub GestionClavier(ByVal KeyValue As Integer)
     
                If KeyValue = Keys.F9 Then EnregistrerData() ' Appel fonction d'enregistrement des données
                If KeyValue = Keys.Escape Then Sortie() ' Appel fonction fin de form
                If KeyValue = Keys.F2 Then NewRecord() ' Appel fonction nouvel enregistrement
                'If KeyValue = Keys.F4 Then PrintReport("Courante") ' Appel fonction d'impression de rapport
                If KeyValue = Keys.Return Then
                      SendKeys.Send("{TAB}")
                End If
     
          End Sub

Discussions similaires

  1. [AC-2007] Gestion des doublons avec 2 champs indexés
    Par bestall666 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/06/2010, 18h53
  2. Gestion des transactions avec les composants DOA
    Par lper dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/12/2008, 16h06
  3. Gestion des factures avec interbase
    Par AlexB59 dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 12h05
  4. Gestion des cookies avec Indy 10
    Par membrax dans le forum Web & réseau
    Réponses: 5
    Dernier message: 21/09/2005, 18h44
  5. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54

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