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#] Paramètres fonctions


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut [C#] Paramètres fonctions
    Bonjour.

    J'ai une fonction du genre : MaFonction(ListBox MaListe)
    {
    MaListe.Item.Add ("lkjlkjlkj");
    ....
    }

    Mon soucis est le suivant. J'ai besoin de la même fonction mais avec cette fois comme paramètre une ComboBox en lieu et place de la ListBox.

    A l'intérieur de la fonction, les méthodes utilisées pour accéder à la ListBox ou la ComboBox sont les mêmes (Item.Add).

    Comment puis-je faire pour ne pas être obligé de duppliquer la fonction ?

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    C'est pas compliqué, un listbox ou un combobox est un Object et même un Control. Suffit de dire que ta classe peut recevoir un Object ou un Control, c'est comme tu préfères.

    Ensuite, tu n'as plus qu'à tester si l'objet que tu as reçu est un Listbox ou ComboBox avec is.

    Exemple :

    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 void Form1_Load(object sender, EventArgs e)
    {
       MaFonction(new ListBox());
       MaFonction(new ComboBox());
    }
     
    void MaFonction(Control param_Control)
    {
       if (param_Control is ListBox)
       {
          ((ListBox)param_Control).Items.Add("Listbox");
       }
       else if (param_Control is ComboBox)
       {
          ((ComboBox)param_Control).Items.Add("Combobox");
       }
       else
       { 
          // Objet non géré
       }
    }

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Par défaut
    Super Merci.

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

Discussions similaires

  1. [debutant] paramètre fonction
    Par julien_d dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/04/2007, 14h03
  2. Problème de paramètre fonction
    Par sone47 dans le forum MATLAB
    Réponses: 10
    Dernier message: 31/01/2007, 20h39
  3. [VBA-E]paramètre fonction et tableau
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/01/2007, 09h56
  4. Paramètres fonctions utilisation
    Par KinF dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/07/2006, 22h46
  5. Récupérer paramètre fonction
    Par masseur dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 26/06/2006, 11h51

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