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 :

Accès à propriété Visible d'un bouton de UserControl [Débutant]


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 73
    Points
    73
    Par défaut Accès à propriété Visible d'un bouton de UserControl
    Bonjour,

    J'ai créér un contrôle utilisateur surlequel j'ai un bouton dont la propriété est Visible = False

    Lorsque je rajoute ce controle utilisateur sur une Form, et que je veux mettre la propriété Visible=True, cela ne fonctionne pas!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    usrCtr_TabCpt NewTab = new usrCtr_TabCpt();
    NewTab.Name = "CtrlOnglet1";
    MesOnglets.TabPages["Onglet1"].Controls.Add(NewTab);
     
    // MonBouton reste à False !!
    MesOnglets.TabPages["Onglet1"].Controls["CtrlOnglet1"].MonBouton = true;
    Une idée ?
    Merci

  2. #2
    Membre averti Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Points : 428
    Points
    428
    Par défaut
    Salut, c'est quoi "MonBouton" dans ton UserControl "usrCtr_TabCpt" ?
    Pas un "Button" en tout cas d'après ton code.

    Pascal

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 73
    Points
    73
    Par défaut
    si c'est un bouton, mais le code, c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MesOnglets.TabPages["Onglet1"].Controls["CtrlOnglet1"].Controls["MonBouton"].Visible = true;
    et non pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MesOnglets.TabPages["Onglet1"].Controls["CtrlOnglet1"].MonBouton = true;

  4. #4
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 73
    Points
    73
    Par défaut
    Comme par magie, aujourd'hui, le même code qu'hier fonctionne bien !

    Edit
    Mea Culpa, pas de magie, cela ne fonctionne toujours pas.
    En fait, j'avais remplacé Visible par Enabled, et dans ce cas cela fonctionne.

    mais toujours pas avec Visible....

  5. #5
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 73
    Points
    73
    Par défaut
    Petite précision, je fais cà dans un foreach et ca ne fonctionne pas:
    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
    29
    30
    31
     
                // Je parcours tous les onglets
                foreach (TabPage tt in MonOnglet.TabPages)
                {
                    // Si j'ai un onglet qui s'apelle tabCpt
                    if (tt.Name.IndexOf("tabCpt") != -1)
                    {
                        // je parcours tous les contrôles de mon onglet 
                        foreach (Control ctrl in tt.Controls)
                        {
                            // si j'ai mon contrôle utilisateur, qui s'appelle Cpt
                            if (ctrl.Name.IndexOf("Cpt") == 0)
                            {
                                // J'ai 2 boutons sur mon contrôle utilisateur
                                Button Bout1 = (Button)ctrl.Controls["cmd_CreerCpt1"];
                                Button Bout2 = (Button)ctrl.Controls["cmd_CreerCpt2"];
     
                                    if (!Bout1.Visible)
                                    {
                                        Bout1.Visible = true;
                                        Bout1.Text = "Ajouter Cpt1";
                                    }
                                    else
                                    {
                                        Bout2.Visible = true;
                                        Bout2.Text = "Ajouter Cpt2";
                                    }
                            }
                        }
                    }
                }
    Par contre ca fonctionne si je fais çà directement (pour tester, parce qu'en fait, je ne connais pas exactement le nom de mes contrôles, je sais juste qu'il commence par "tabCpt" pour le tabpage et "Cpt" pour le controle utilisateur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonOnglet.TabPages["tabCptPUR"].Controls["CptPUR"].Controls["cmd_CreerCpt1"].Visible = true;
    MonOnglet.TabPages["tabCptPUR"].Controls["CptPUR"].Controls["cmd_CreerCpt2"].Visible = true;
    une idée ???!!!

  6. #6
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 73
    Points
    73
    Par défaut
    Bon, j'ai fait autrement, j'ai définie Visible = True et Enabled = False pour mes boutons dans le UserControl

    Ensuite, je met le Enabled = True selon mes conditions.

    Et enfin, je reparcours les contrôles pour mettre la propriété de mes boutons ainsi:
    MonBouton.Visible = MonBouton.Enabled; et la ca marche, si le bouton a la propriété Enabled = False, alors la propriété Visible deviendra bien à False aussi.

    Bizarre que cela marche dans ce sens, mais pas l'inverse!

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

Discussions similaires

  1. Propriété enabled d'un bouton
    Par malabar92 dans le forum Access
    Réponses: 2
    Dernier message: 24/06/2006, 17h28
  2. Réponses: 2
    Dernier message: 06/06/2006, 12h09
  3. Propriété visible
    Par Mateache dans le forum Access
    Réponses: 20
    Dernier message: 07/03/2006, 18h10
  4. [FLASH 8] Rendre visible/invisible un bouton sur un clic
    Par PrinceMaster77 dans le forum Flash
    Réponses: 11
    Dernier message: 10/01/2006, 15h08
  5. Réponses: 2
    Dernier message: 06/05/2005, 21h45

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