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.net] définir un textbox dynamiquement


Sujet :

Windows Forms

  1. #1
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut [vb.net] définir un textbox dynamiquement
    bonjour, j'ai un petit soucis pour définir une variable dans le code afin de définir un objet dynamiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            For i = 1 To 5 Step 1
                Dim txtContent As TextBox = "textbox" & i
                GrammarCheck(txtContent)
            Next
    voila, j'ai un problème de type car mon txtContent est une texte box or ma boucle ne génère que un string, le nom de la textbox en fait.

  2. #2
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,
    Je ne suis pas bien sur de comprendre ton probleme. De ce que j'ai compris, "textbox" & i est un string (normal) et tu essayes de l'assigner à un objet de type Textbox... Pourquoi n'assignes tu pas la string à la propriété Name de ton textbox ?

    @+

  3. #3
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    ben ça marche pas, j'ai essayé, en fait je mi prend mal car je ne sait pas comment faire, voici se que je veux.

    Je veux une boucle qui appel une fonction 5 fois, mais qui l'appel pour 5 textbox différente, or je ne sais pas le faire, moi je sais mettre une boucle qui donne un string [textebox1, textebox2, textebox3, textebox4, textebox5] mais ça reste du string, non un texte box.
    C'est plus clair
    ma boucle doit faire ça au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    fonction(textbox1)
    fonction(textbox2)
    fonction(textbox3)
    fonction(textbox4)
    fonction(textbox5)

  4. #4
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    ben avant d'appeller ta fonction qui prend une textbox en argument, tu fais une autre boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for each ctrl as control in myForm.Controls
     if ctrl.name = taString then
      function(directcast(ctrl, textbox))
     endif
    next
    essaye pour voir :

  5. #5
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    arf, ben déja j'ai plein d'erreurs se qui donne ça pour ce que je comprend :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim MyString As String
            For Each ctrl As Control In Me.Controls
                If (ctrl.Name = MyString) Then
                      function(directcast(ctrl, textbox)) 
                End If
            Next
    ensuite, je vois pas à quoi sert "function(directcast(ctrl, textbox)) " et en plus sa sort en erreur.

  6. #6
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    a ok, c'est pour convertir mon string en control ?

  7. #7
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    directcast(ctrl, textbox) convertie le control en textbox mais comme je n'ais pas la declaration de ta fonction, j'ai juste déduis qu'elle prenait une textbox en parametre. Si ce n'est pas le cas c'est normal que ca genere une erreur.

    Ce que je fais c'est que je boucle sur les controls dans ton form et s'il y en a un dont le nom est égal a ta String (textbox1, texbox2 ...) je le passe en parametre a ta fonction en faisant un cast. C'est ca que tu veux faire non ?

  8. #8
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    j'ai essayé ça, sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For i = 1 To 5 Step 1
                Dim txtContent As TextBox = DirectCast("textbox" & i, TextBox)
                GrammarCheck(txtContent)
            Next
    edite : Oui elle prend un textbox en paramètre, c'est une fonction qui lance la correction orthographique de word pour le champs donnée et moi je veux que ça le fasse pour chaque champs, d'ou ma boucle

  9. #9
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    As tu regarde mon code plus haut :

    Tu essayes de convertir du text en textbox, ca ne marchera jamais !

    Tu dois faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i as integer = 0 to 5
     
    dim textboxName as string = "textbox" & i.toString
    for each ctrl as control in myForm.Controls
     if ctrl.Name = textboxName then
      TaFunction (directcast(ctrl, textbox))
     endif
    next
     
    next

  10. #10
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    a oki ça marche, c'est que j'ai nommé mes textbox TextBox1 et non textbox1.
    Par contre c'est pas un peu long de vérifier pour tous les control, moi ça va en faire 50 multiplier par une boucle qui va monter au 20, ça nous fait 1000 vérifications, c'est pas un peu beaucoup ? j'en sais rien
    merci au fait !!

  11. #11
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Ben sinon ne vérifie pas le nom... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for each ctrl as control in myForm.Controls 
      If TypeOf (ctrl) Is TextBox Then
          TaFunction (directcast(ctrl, textbox)) 
       End If
    next

  12. #12
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    et pour etre chiant, on peut pas vérifier les control textbox uniquement ?
    sinon un grand merci monsieur

  13. #13
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    si on peut, regarde mon code ci-dessus.
    allez je te le redonne:

    If TypeOf (ctrl) Is TextBox Then

    oublie pas de cliquer sur Resolu

  14. #14
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut

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

Discussions similaires

  1. textbox dynamique en asp.net
    Par sanouNET dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/06/2007, 09h24
  2. [VB.NET] Pb rafraichissement TextBox
    Par thebeb dans le forum ASP.NET
    Réponses: 5
    Dernier message: 01/02/2007, 14h43
  3. [2.0][VB.NET] Lier un textbox avec une db en dynamique
    Par thierry007 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/11/2006, 18h07
  4. [VB.NET] Sauvegarde dans TextBox des logons utilisés
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/10/2005, 11h00
  5. [VB.NET] Définir le répertoire par défaut de l'application
    Par lord_paco dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2004, 16h00

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