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 :

[C#] Concatener 2 variables pour en faire une 3ème


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut [C#] Concatener 2 variables pour en faire une 3ème
    Voila, je voudrais concatener 2 variables pour en faire une 3ème.

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    button btn;
    int i = 1;
    je voudrais concatener ces 2 variables pour que cela donne
    (sachant que btn1 existe)


    J'ai essayer

    Mais cela ne marche pas

    Comment faire d'après vous ? C'est possible ?


    Merci

  2. #2
    Membre expérimenté
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Par défaut
    sachant que btn1 existe
    boucler sur la collection controls

    tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mycontrol.name = btn.name + i.toString()
    tu peux aussi tester le type pour ne garder que les boutons.

    il doit y avoir un bout de code plus propre que ca sur le forum...
    c'est a mon avis le meilleur moyen.

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Rami
    tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mycontrol.name = btn.name + i.toString()
    apparement, ca marche bien mais j'ai un pb : meme si je fais cela, il me concerve tjrs l'ancienne valeur pour le bouton


    Regarder :
    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
    22
    23
    24
    25
    26
     
    private void InsereCouleur(MyXPButton.MyXPButton Case, int iLigne)
    		{
    			int iTmp = 0;
     
    			for ( int i = 5 - iLigne; i >=1; i-- )
    			{
    				iTmp = i * 5 + 1;
     
    				Case.Name = "MyXPButton" + iTmp.ToString();
     
    				if ( Case.Tag == null )
    				{
    					if ( bTour == true )
    					{
    						Case.Image = ImgJaune;
    						Case.Tag = "J";
    					}
    					else
    					{
    						Case.Image = ImgRouge;
    						Case.Tag = "R";
    					}
    				}
    			}
    		}
    J'arrive bien a changer de nom le bouton avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Case.Name = "MyXPButton" + iTmp.ToString();
    mais kan je fais le test sur le Tag
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ( Case.Tag == null )
    le prog garde en mémoire le nom du bouton qui lui est passé en paramètre (alors que je change ce nom juste avant)

    Avez-vous une idée ?

    Merci encore.

  4. #4
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    T'as pas un controle conteneur qui contiendrait ces boutons (ctlContainer dans mon ex) ? tu pourrais boucler facilement dessus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Dim ctlTMP As Control
            For Each ctlTMP In ctlContainer.Controls
                'si le controle est un bouton
                    'si il a un tag
                        '....
            Next
    Ou encore mets tes boutons dans une petite collection si tu peux pas faire facilement un conteneur qui les englobe tous

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Bah, je vois pas comment ca pourait m'aider .....

  6. #6
    Membre expérimenté
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Par défaut
    ce que j'avais en tete était exactement la meme chose que piotrek:
    boucler sur la collection controls
    tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mycontrol.name = btn.name + i.toString()
    =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim ctlTMP As Control 
            For Each ctlTMP In ctlContainer.Controls 
                'si le controle est un bouton 
                    'si il a un tag 
                        '.... 
            Next
    donc au final en supposant:

    - les boutons "MyXPButton1" etc... sont des controles de Form1

    qqchose comme ca:

    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
    22
    23
    24
    25
    26
    27
    28
    private void InsereCouleur(int iLigne) 
          { 
             int iTmp = 0; 
     
             for ( int i = 5 - iLigne; i >=1; i-- ) 
             { 
                iTmp = i * 5 + 1; 
                Dim ctlTMP As Control 
                For Each ctlTMP In Form1.Controls 
                  if (ctlTMP.Name == "MyXPButton" + iTmp.ToString()) 
                  {
                     if ( Case.Tag == null ) 
                     { 
                        if ( bTour == true ) 
                        { 
                           ctlTMP.Image = ImgJaune; 
                           ctlTMP.Tag = "J"; 
                        } 
                        else 
                       { 
                           ctlTMP.Image = ImgRouge; 
                           ctlTMP.Tag = "R"; 
                       } 
                     }
                  }
               Next 
             } 
          }
    (attention a mon C#, il est fortement susceptible de contenir des fautes)
    toute l'astuce etant de retrouver le bon controle par son nom.
    euh... c'est + clair?

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    je vais essayer de travailler avec ca : merci

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

Discussions similaires

  1. [PHP 5.2] Concatener deux variables pour qu'elle forment une seule variable
    Par zemzoum89 dans le forum Langage
    Réponses: 9
    Dernier message: 25/05/2010, 19h39
  2. Réponses: 1
    Dernier message: 01/03/2009, 16h53
  3. concatener 2 variables pour definir le nom d'une variable
    Par ~Brouette~ dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 09/12/2008, 15h13
  4. Accoler deux variables pour en faire une ?
    Par Invité dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 25/05/2008, 16h01
  5. Réponses: 4
    Dernier message: 27/09/2007, 15h05

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