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 :

Avoir les propriétés d'une combo à partir d'un control


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Points : 85
    Points
    85
    Par défaut Avoir les propriétés d'une combo à partir d'un control
    Bonjour,

    Ce que j'essaye de faire c'est de mettre des valeurs par défaut aux contrôles contenus dans un groupbox.

    Pour ce faire j'utilise le code ci-dessous.

    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
    32
    33
    34
     private void initialiseControls(Control gb)
            {
     
     
                foreach (Control ctrl in gb.Controls)
                {
                    if (!Control.Equals(ctrl.Name, "cbCategorie"))
                    {
                        ctrl.Enabled = false;
     
                        if (ctrl is MaskedTextBox)
                        {
                            ctrl.Text = "yop";
                        }
                        if (ctrl is NumericUpDown)
                        {
                            //numericUpDown value à 1
                        }
                        if (ctrl is ComboBox)
                        {
                            //combo index à 1
                        }
                        if (ctrl is DateTimePicker)
                        {
     
                            //dateTimePicker à today
                        }
                        if (ctrl is Button)
                        {
                            //buttons disabled
                        }
                    }
                }
            }
    Le problème c'est que bien évidemment ctrl est du type control et du coup impossible d'accéder aux propriétés/méthodes du type courant.

    Comment faire pour redéfinir le type de ctrl?

    Merci

  2. #2
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Ben tu transtypes !

    Par exemple :
    ou Il est étonnant que tu connaisses "is" et pas le trantypage.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    Par défaut
    Ce que tu peux faire, c'est :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     private void initialiseControls(Control gb)
            {
     
     
                foreach (Control ctrl in gb.Controls)
                {
                    if (!Control.Equals(ctrl.Name, "cbCategorie"))
                    {
                        ctrl.Enabled = false;
     
                        if (ctrl is MaskedTextBox)
                        {
                            MaskedTextBox masked = (MaskedTextBox)ctrl;
                            masked.Text = "yop";
                        }
                        if (ctrl is NumericUpDown)
                        {
                            NumericUpDown num = (NumericUpDown)ctrl;
                            num.Value=1;
                            //numericUpDown value à 1
                        }
                        if (ctrl is ComboBox)
                        {
                            ComboBox combo = (ComboBox)ctrl;
                            combo.SelectedIndex=1;
                            //combo index à 1
                        }
                        if (ctrl is DateTimePicker)
                        {
                            DateTimePicker dtpicker =(DateTimePicker)ctrl;
                            dtpicker.Value = DateTime.Today;
                            //dateTimePicker à today
                        }
                        if (ctrl is Button)
                        {
                            Button but = (Button)ctrl;
                            but.Enabled=false;
                            //buttons disabled
                        }
                    }
                }
            }
    ou tout simplement

    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
    32
    33
    34
    35
    36
    37
    38
     
     private void initialiseControls(Control gb)
            {
     
     
                foreach (Control ctrl in gb.Controls)
                {
                    if (!Control.Equals(ctrl.Name, "cbCategorie"))
                    {
                        ctrl.Enabled = false;
     
                        if (ctrl is MaskedTextBox)
                        {
                            ((MaskedTextBox)ctrl).Text = "yop";
                        }
                        if (ctrl is NumericUpDown)
                        {
                            ((NumericUpDown)ctrl).Value=1;
                            //numericUpDown value à 1
                        }
                        if (ctrl is ComboBox)
                        {
                            ((ComboBox)ctrl).SelectedIndex=1;
                            //combo index à 1
                        }
                        if (ctrl is DateTimePicker)
                        {
                            ((DateTimePicker)ctrl).Value = DateTime.Today;
                            //dateTimePicker à today
                        }
                        if (ctrl is Button)
                        {
                            ((Button)ctrl).Enabled=false;
                            //buttons disabled
                        }
                    }
                }
            }

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Points : 85
    Points
    85
    Par défaut
    merci de votre réponse.

    Vous est-il passé par la tête que si justement je pose la question c'est parce que je connaissait pas la réponse?

    Franchement!!! ^^

  5. #5
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par utan88 Voir le message
    merci de votre réponse.

    Vous est-il passé par la tête que si justement je pose la question c'est parce que je connaissait pas la réponse?

    Franchement!!! ^^
    Tu n'as jamais fait de transtypage ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Points : 85
    Points
    85
    Par défaut
    Non et je pense que vous aussi avez du apprendre un jour ou l'autre.

    Je vous remercie des réponses sa a marché nickel.

    La prochaine fois vous sentez pas obligé de répondre

  7. #7
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par utan88 Voir le message
    Je vous remercie des réponses sa a marché nickel.
    Bien sûr que ça marche, on n'en doutait pas.
    Je t'invite à aller voir la différence entre le transtypage simple (cast) et l'utilisation du mot clef "as" il y a une subtile différence.

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 581
    Points : 25 239
    Points
    25 239
    Par défaut
    Sinon, Google pour "C# is" donne comme 1er lien is (Référence C#) ou il y a un exemple de transtypage direct "(type)obj" mais surtout un lien vers as (Référence C#)

    Ensuite, si l'on fait une recherche dans la FAQ C# du mot "is"
    on tombe sur la rubrique Comment vérifier qu'un objet est bien d'un certain type ?, c'est dingue, l'auteur a eu l'idée d'expliquer as


    is et as étant deux opérateurs inspirés du Delphi !

    Consulter l'aide fait parti de la démarche d'apprentissage !

    Utan88, j'espère que ces différents liens t'aideront pour tes prochaines questions !
    Rien est plus satisfaisant que de trouver soi-même les réponses que de les attendre bêtement

  9. #9
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par Aeronia Voir le message
    Ce que tu peux faire, c'est :
    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
    32
    33
    34
    35
    36
    37
    38
     
     private void initialiseControls(Control gb)
            {
     
     
                foreach (Control ctrl in gb.Controls)
                {
                    if (!Control.Equals(ctrl.Name, "cbCategorie"))
                    {
                        ctrl.Enabled = false;
     
                        if (ctrl is MaskedTextBox)
                        {
                            ((MaskedTextBox)ctrl).Text = "yop";
                        }
                        if (ctrl is NumericUpDown)
                        {
                            ((NumericUpDown)ctrl).Value=1;
                            //numericUpDown value à 1
                        }
                        if (ctrl is ComboBox)
                        {
                            ((ComboBox)ctrl).SelectedIndex=1;
                            //combo index à 1
                        }
                        if (ctrl is DateTimePicker)
                        {
                            ((DateTimePicker)ctrl).Value = DateTime.Today;
                            //dateTimePicker à today
                        }
                        if (ctrl is Button)
                        {
                            ((Button)ctrl).Enabled=false;
                            //buttons disabled
                        }
                    }
                }
            }
    heureusement que ctrl ne peut pas être Null

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Points : 85
    Points
    85
    Par défaut
    Merci des liens et de vos critiques constructives.

    @ kheironn votre titre vous ne l'avez pas volé

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/02/2008, 20h33
  2. RTTI:Lister les propriétés d'une interface COM
    Par zeprogrameur dans le forum Langage
    Réponses: 10
    Dernier message: 09/11/2005, 16h06
  3. connaitre les propriétés d'un champ à partir de son nom
    Par toome dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/10/2005, 11h16
  4. Avoir les "QueryDefs" d'une autre base
    Par Invité dans le forum Access
    Réponses: 1
    Dernier message: 14/09/2005, 10h57
  5. Réponses: 4
    Dernier message: 29/11/2004, 16h51

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