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# VS2005] Appel procédure avec bouton dynamique


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Par défaut [C# VS2005] Appel procédure avec bouton dynamique
    Bonjour,

    Je met dymamiquement un bouton sur ma form.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Forms.Button MyButton = new System.Windows.Forms.Button();
    Comment dois-je procéder pour quand on clique dessus, je lance une procédure ?
    J'ai essayé ceci, mais ca ne marche pas, j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyButton.Click = MaProcedure;
    Merci
    Fred

  2. #2
    Membre expérimenté Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Par défaut
    Tu dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyButton.Click += MaProcedure;
    C'est aussi simple que ca

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Par défaut
    C'est vraiment très simple

    Si par contre j'ai des paramètres, comme par exemple le Mouse Click du button :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    button_start_MouseClick(object sender, MouseEventArgs e)
    Dois-je mettre ces paramètres dans ma procédure ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void MaProcedure (object sender, MouseEventArgs e) {....}

  4. #4
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par scifire
    Tu dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyButton.Click += MaProcedure;
    C'est aussi simple que ca

    non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyButton.Click += new System.EventHandler(MaProcedure);
    De plus effectivement, ta méthode doit avoir la signature adéquate par rapport au délegué que tu "implémentes".

    C'est à dire que pour les handlers System.EventHandler ta méthode doit avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void MaMethode(object sender, System.EventArgs e)
    {
     
    }
    et pas autre chose. Après en fonction des délegués la signature change mais 90% des évènements de l'interface graphique utilise le délégué donné au dessus.

  5. #5
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    oui si ta procédure n'a pas de paramètres, tu peux créer un délégué¨

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private delegate void CallMaproc();
    void procedure()
    {
    ...
    }
    void main()
    {
     Mybutton.Click += new CallMaproc(procedure);
    }

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par bossun
    oui si ta procédure n'a pas de paramètres, tu peux créer un délégué¨
    non non, dans tout les cas, il faut faire comme indiqué au dessus. l'évènement Clik attend un délegué bien particulier : System.EventHandler. tu ne peux pas passer n'importe quoi,n'importe comment à ton évènement.

    Liens :
    L'évènement Click de Button

    Le délégué utilisé par l'évènement Click

    Et puis même avec des paras tu passes par un délégué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private delegate void CallMaproc(string p1, int p2);
    void procedure(string p1, int p2)
    {
    ...
    }
    void main()
    {
     MaClasse.MonEvent += new CallMaproc(procedure);
    }

  7. #7
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Citation Envoyé par dev01
    non non, dans tout les cas, il faut faire comme indiqué au dessus. l'évènement Clik attend un délegué bien particulier : System.EventHandler. tu ne peux pas passer n'importe quoi,n'importe comment à ton évènement.
    ah oui c'est juste , étonnant

Discussions similaires

  1. Appel par bouton d'une procédure avec argument
    Par defluc dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/05/2012, 15h48
  2. appel procédure avec paramètres ds fonction
    Par cpattin dans le forum VB.NET
    Réponses: 7
    Dernier message: 14/06/2007, 22h11
  3. [FLASH 8] Pb sur bouton avec texte dynamique
    Par iceman2001 dans le forum Flash
    Réponses: 11
    Dernier message: 27/06/2006, 12h58
  4. [VBA-E] bouton dynamique avec fonction
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 06/02/2006, 12h43
  5. Problème avec tableaux dynamiques et procédure
    Par K20 dans le forum Langage
    Réponses: 11
    Dernier message: 06/01/2006, 20h51

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