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 :

[VB][Débutant]group box et collection de contrôles


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 38
    Points
    38
    Par défaut [VB][Débutant]group box et collection de contrôles
    salut,

    voilà, j'ai un group box qui possède :

    11 labels,
    24 text box

    il y a un lien entre les txt box. ils sont en 4 groupes de traitements.
    a chaque fois, si on modifie l'un des trois premiers alors on obtient le résultat dans le dernier.(en gros cela donne : [1]+[3]+[10]=[14])

    j'ai bien réussit à coder tous ça, cependant je me demandais si, au lieu de faire un événement pour chaque text box, il n'existerait pas une méthode grâce au collection de controle mais je n'y arrive pas ....

    merci, en espèrant être assez clair.

  2. #2
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    tu peux diriger tous les événements de tes textboxs vers le même handler et ensuite identifier le sender...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 38
    Points
    38
    Par défaut
    pardon,

    j'ai cherché à faire ce que tu proposes mais j'avoue être plus que dépassé.

    comment les text box peuvent avoir le même handle ?

    identifier le sender ?
    donc je sais que le sender est un objet, mais mes text box sont certes de type textbox(donc objet) mais elles ont un nom différent .... donc cela donnerait pour le sender :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private Sub txtDexIndice_TextChanged(ByVal sender As textbox, ByVal e As System.EventArgs) Handles txtDexIndice.TextChanged
    seulement je ne vois pas la jonction avec ce que tu me proposes.

    j'ai oublié de mettre débuttant dans le titre du message.

  4. #4
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    alors reprenons depuis le début.
    je suppose que tu crée l'handler sur l'évenement TextChanged en double cliquant sur le textbox en mode design. Procède ainsi pour le premier textbox(la méthode txtDexIndice_TextChanged a été créée). Ensuite pour les suivants, sélectionne le textbox, vas dans properties, puis events, et dans text_changed, sélectionne la méthode qui vient d'être créée. Tous les événements TextChanged de tes textboxs pointent vers txtDexIndice_TextChanged.
    Il te suffit ensuite dans cette méthode d'identifier le sender, par cela j'entends :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void txtDexIndice_TextChanged( object sender, EventArgs e )
    {
    	if(sender.Equals(txtDexIndice))
    	{}
    	else if(sender.Equals(textBox2))
    	{}
    }
    Voila j'espère avoir été assez clair!

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    petite illustration
    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
     
    Const nom As String = "TextBox"
     
    Dim f As Font = New Font("Arial", 9.75!, FontStyle.Regular, GraphicsUnit.Point, CType(0, Byte))
    Dim i As Integer
    Dim s As Size = New Size(96, 23)
    Dim tb As Texbox
    Dim y As Integer = 0
     
    For i = 0 to 10
       tb = New TextBox()
       tb.Font = f
       tb.Location = New Point(10, y)
       tb.Name = nom & i.ToString()
       tb.Size = s
       tb.Text = String.Empty
       AddHandler tb.TextChanged, AddressOf Me.GroupTbTextChanged
       Me.MonControlsGroup.Controls.Add(tb)
       y += 30
    Next
    Maintenant les evenements TextChanged des 11 TextBox sont abonnés à un seul Delegate >> GroupTbTextChanged ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub GroupTbTextChanged(sender As Object, e As EventArgs)
       'par exemple
       Select Case Ctype(sender, Control).Name
         Case "TextBox1"
            '...
         Case "TextBox2"
            '...etc
        End Select
        '...
    End Sub
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 38
    Points
    38
    Par défaut
    ok merci bien de vote patience

    je penses avoir compris et je vais travailler dans ce sens.

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 125
    Points : 125
    Points
    125
    Par défaut
    Merci beaucoup neguib pour ce code tres instructif.

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

Discussions similaires

  1. [C# Débutante] Donner le Focus a un contrôle ?
    Par sara21 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/10/2006, 18h49
  2. [EVC] BUG group box O.O
    Par lykim dans le forum MFC
    Réponses: 8
    Dernier message: 02/05/2006, 15h38
  3. [débutant] groupe d'options
    Par sergoid dans le forum Access
    Réponses: 2
    Dernier message: 21/04/2006, 16h29
  4. groupe box et bordure
    Par biozaxx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/12/2005, 14h13
  5. [VB.NET] Utiliser les collections de contrôles (Textbox)
    Par dinbougre dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/01/2005, 18h57

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