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

C# Discussion :

possibilté d'avoir textbox indexé


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 14
    Points
    14
    Par défaut possibilté d'avoir textbox indexé
    Salut tout le monde,

    J'ai une question un peu étrange puisque je suis débutant en programmation:
    J'ai un ensemble de textbox, je veux les parcourir avec une boucle for de tel sorte j'aurais textbox[i].text

    est c'est possible en c#

    merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Bonjour,
    si tu les mets dans un tableau ou dans une liste oui tu peux faire ça.
    Mais pourquoi tu veux faire ça ?

  3. #3
    Membre actif
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 121
    Points : 217
    Points
    217
    Par défaut
    Bonjour,

    Tu peux parcourir tous les control d'un formulaire en faisant 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
    16
    17
    18
     
    foreach (Control c in this.Controls)
    {
       if (c is TextBox)
       {
          MessageBox.Show(((TextBox)c).Text);
        }
    }
     
     ou
     
    for (int i = 0; i < this.Controls.Count; i++)
    {
       if (this.Controls[i] is TextBox)
       {
          MessageBox.Show(((TextBox)this.Controls[i]).Text);
       }            
    }
    Attention c ou this.Controls[i] peut etre un panel ou un autre control qui peut contenir des controls, donc dans ces cas this.Controls[i].Controls[0] peut être valide et ainsi de suite jusqu'a la profondeur maxi d'imbrication de tes composants.

    Tu peux tester chaque control en faisait
    if (c is Panel), if (c is TextBox) ou tout ce que tu souhaites tester.




    Cordialement
    Je connais des gens qui ne sont pas aware, il ne sont pas qu courant. il ne sont pas a l'attention de savoir qu'ils existent.
    "J-C Van dam"

  4. #4
    Membre du Club
    Homme Profil pro
    All and nothing
    Inscrit en
    Mai 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : All and nothing

    Informations forums :
    Inscription : Mai 2012
    Messages : 22
    Points : 43
    Points
    43
    Par défaut
    Hello,

    Pour compléter la réponse de Lharrun qui est tout a fait correct, tu peux également ajouter un Tag commun pour créer des groupes de textbox.

    Par exemple, tu as 5 textbox utiles pour faire une action A et 5 autres pour faire une action B.

    Les 5 textbox auront "A" comme valeur pour la propriété Tag. Les 5 autres textbox auront un Tag "B".

    De ce faite, tu peux faire du trie dans ta collection de tes controls de type Textbox.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    foreach (Control c in this.Controls)
    {
       if (c is TextBox && c.tag == "A") // On traite les textbox de groupe A
       {
          MessageBox.Show((TextBox)c.Text + ": Groupe de textbox A");
        }
       else if (c is TextBox && c.tag == "B" // On traite les textbox de groupe A
       {
          MessageBox.Show((TextBox)c.Text + ": Groupe de textbox B");
        }
     
    }
    MRA.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    Tu peux faire de la récursivité pour parcourir en profondeur tous les sous controls d'un control pour récupérer les TextBox. C'est assez simple à implémenter une seule méthode ...
    "Une belle citation est un diamant au doigt de l'homme d'esprit et un caillou dans la main d'un sot."
    Joseph Roux

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/12/2013, 14h09
  2. Additionner des textbox indexer
    Par petchy dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/11/2013, 19h10
  3. De vb6 à vb.net TextBox indexé
    Par fredlefou dans le forum VB.NET
    Réponses: 21
    Dernier message: 02/08/2010, 13h52
  4. Réponses: 4
    Dernier message: 16/12/2009, 19h49
  5. [vb.net][textbox] Avoir un value field et un display field
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2005, 17h59

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