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 :

Initialisation de contrôle


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 44
    Points : 27
    Points
    27
    Par défaut Initialisation de contrôle
    Bonjour,

    Un problème qui s'est souvent posé à moi, et que j'ai résolu d'une mauvaise manière.
    Je voulais savoir s'il était possible d'initialiser (ou de récupérer) les valeurs de contrôle itérative de manière simple.
    J'ai une forme avec 64 textbox, nommée textbox_nom1 à textbox_nom64 et un tableau_nom(63) as string

    J'aurais voulu réussir à trouver une boucle du genre:

    for i=0 to 63
    form1.controls("textbox_nom & i").text=tableau_nom(i)
    next

    Plutôt que de me cogner 64 lignes de code. Et idem pour des checkbox.checked avec des booléens...

    Ou alors faut-il que je crée une collection qui regroupe toutes mes checkbox?
    Mais je ne connais pas du tout le code pour faire ce genre de chose, un petit coup de main serait le bienvenu.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Salut,

    Effectivement il y a moyen de t'arranger et ton idée est la bonne

    Donc cette fois ma page Winform est composée :
    • 5 textBox nommées "txt1" à "txt5"
    • 1 label nommé "lblRes" pour tester
    • 1 bouton "btGo"



    Code pour le clic de btGo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            private void btGo_Click(object sender, EventArgs e)
            {
                //De 1 à 5
                for (int i = 1; i < 6; i++)
                {
                    var textbox = this.Controls.Find("txt" + i, false).FirstOrDefault() as TextBox;
                    lblRes.Text += " " + textbox.Text;
                }
            }
    Et sinon pour une collection de tes texbox voici un exemple (même page et même résultat) :
    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
    21
            private List<TextBox> _listeTextBox;
     
            public Form()
            {
                InitializeComponent();
                _listeTextBox = new List<TextBox>();
                for (int i = 1; i < 6; i++)
                {
                    _listeTextBox.Add(this.Controls.Find("txt" + i, false).FirstOrDefault() as TextBox);
                }
     
            }
     
            private void btGo_Click(object sender, EventArgs e)
            {
                foreach (var textBox in _listeTextBox)
                {
                    lblRes.Text += " " + textBox.Text;
                }
     
            }

    Et voici un exemple pour les checkbox (on compte le nombre de CheckBox coché) :
    Donc cette fois sur ma page Winform est composée :
    • 5 CheckBox nommées "cb1" à "cb5"
    • 1 label nommé "lblResCb" pour tester
    • 1 bouton "btGo2"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            private void btGo2_Click(object sender, EventArgs e)
            {
                int countCbCheck = 0;
                for (int i = 1; i < 6; i++)
                {
     
                    var checkBox = this.Controls.Find("cb" + i, false).FirstOrDefault() as CheckBox;
                    if (checkBox.Checked)
                        countCbCheck++;
                }
                lblResCb.Text = countCbCheck.ToString();
            }
    N'hésites pas si tu as des question !

    Edit : Oups, désolé pour le premier exemple qui était de l'asp.net...

Discussions similaires

  1. initialiser les contrôles d'un document word
    Par diombo dans le forum VBA Word
    Réponses: 3
    Dernier message: 02/02/2012, 15h02
  2. Erreur pour initialiser le contrôle WebKitBrowser
    Par Nanos dans le forum Windows Forms
    Réponses: 0
    Dernier message: 15/11/2009, 11h38
  3. Initialisation des contrôles d'un form
    Par Ptit_bouchon dans le forum Composants VCL
    Réponses: 7
    Dernier message: 05/02/2008, 15h17
  4. Réponses: 2
    Dernier message: 29/11/2006, 11h52
  5. Initialiser un contrôle DateTimePicker
    Par jidea dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/07/2004, 15h33

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