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 :

visibilite bouton parametrable


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut visibilite bouton parametrable
    Bonjour,

    je souhaite rendre visible un certain nombre de boutons en fonction d'un indice.
    si indice vaut 5, seuls les bouton 1 à 5 seront visible. Les boutons se nomme BTN_1 a BTN10.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    string Bouton;
     if (i <= indice)
                        Bouton = "BTN_" + i.ToString();
                        Bouton.Visible = false;
    Est-ce possible ?

    Merci pour votre aide

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    c'est possible.

    Le mieux est peut être de faire une table de correspondance entre les boutons et les indice, au cas où tu décides de changer de nommage ...

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    Comment je fais pour faire comprendre au systeme que la chaine Bouton represente le BTN_1 ?

    sous windev, on place la chaine entre {} et on applique la propriété mais je ne sais pas reproduire çà sous C#.

    LB

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    ici, il faut parcourir les boutons de la page et le chercher par rapport à son nom.
    Mais à mon avis, il vaut mieux un tableau où tu associes ta variable représentant le bouton à un indice

  5. #5
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut
    C'est tout bon,

    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
     
    string Bouton="";
     
    for (int i = 1; i < 12; i++)
                {
                    if (i <= NbreEtat)
                    {
                        //Bouton = "BTN_" + i.ToString();
                        Bouton = string.Concat("BTN_ST", i);
                        //{Bouton}.Visible = false;
                    }
     
                    if (panel1.Controls[Bouton] != null)
                    {
                        panel1.Controls[Bouton].Text = "Coucou";
                    }
                }
    Les boutons sont regroupés dans un panel : panel1

  6. #6
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut
    bonjour,

    Cela fonctionne pour des labels mais j'ai un problème avec les checkbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    bool toto;
    toto = checkBox1.Checked;
    Maintenant,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string Bouton;
    for(int i=0;i<150;i++)
    {
    Bouton = string.Concat("checkBox", i);
    tableau[i] = Controls[Bouton].Checked;
    }
    Mais le probleme c'est que la methode Checked n'apparait pas quand je fais :

    Controls[Bouton].


    Qqu a une idée ?

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Il faut le caster
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(int i=0;i<150;i++)
    {
    tableau[i] = ((Checkbox)Controls["checkBox" + i]).Checked;
    }
    150 checkbox?

    ps : Ici c'est pas le cas mais tu peux vérifier qu'un cast est possible avec Is
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (obj is CheckBox) { }
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2011, 18h37
  2. un bouton/parametre spécifique a la boucle
    Par zeonnix95 dans le forum Tkinter
    Réponses: 3
    Dernier message: 05/09/2010, 11h48
  3. Réponses: 6
    Dernier message: 24/01/2007, 16h34
  4. Réponses: 3
    Dernier message: 03/03/2006, 17h09
  5. [JSP] passer en parametre valeur d un bouton radio
    Par logica dans le forum Servlets/JSP
    Réponses: 19
    Dernier message: 13/05/2005, 14h09

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