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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Appel d'une procédure événement Click dans une procédure exécutée lors d'un Click d'un autre bouton
    Bonjour tout le monde et merci d'avance pour votre aide
    Comme énoncé dans l'intitulé, je n'arrive pas a faire appel à une procedure evenement Click d'un bouton se trouvant deja dans une procedure executée lors d'un Click d'un autre bouton
    exemple de mon code
    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
    private void Proc_click_btn_ajout_user(object sender, EventArgs e) //Procédure executée lors du clic sur bouton ajout user
    {
    Table t=new Table();
       TableRow r;
       TableCell c;
       foreach(string user in new String[]{"A","B","C","D"})
       {
        r=new TableRow();
        
        c=new TableCell();
        c.Text=user;
        r.Cells.Add(c);
    
        c=new TableCell();
        Button Suppr_user = new Button();
        Suppr_user.Text = "Suppr";
        Suppr_user.ID = user;
        Suppr_user.Click += new System.EventHandler(this.Proc_click_Suppr_user); //appel de la procédure Proc_click_btn_visible lors du click sur un bouton      
        c.Controls.Add(Suppr_user);
        r.Cells.Add(c);
    
        t.Rows.Add(r);
       }
       this.Form.Controls.Add(t);
    }
     private void Proc_click_Suppr_user(object sender, EventArgs e) //Procédure executée lors du clic sur bouton suppr user
    {
    
          label_bienvenu.Text += "test" // test pour vérifier si le code de mon bouton est executé
    }
    Apres ce test je constate que mon code n'est jamais executé. Y-a-t-il une methode pour faire ce genre de chose? Il s'agit d'un bouton "suppr_ligne_tableau" créé a la volé dans un tableau. Ce tableau est créé lors d'un click sur un autre bouton. Je n'arrive donc pas à utiliser les boutons qui sont dans mon tableauc'est tres genant.....
    Encore merci

  2. #2
    Membre actif Avatar de Faereth
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2007
    Messages : 92
    Points : 295
    Points
    295
    Par défaut
    Tu as essayé de juste ajouter une MessageBox au lieu de changer le Text d'un label? Ou de mettre un point d'arrêt direct dans ton évènement voir si effectivement il passe par celui-ci?
    Un sage se distingue des autres hommes, non par moins de folie, mais par plus de raison.

    Emile-Auguste Chartier, dit Alain

  3. #3
    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
    Question bête : tu as rattaché ton événement à ton bouton ?

    edit : oops pas lu le code
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    tu n'as pas besoin de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Suppr_user.Click += new System.EventHandler(this.Proc_click_Suppr_user); //appel de la procédure Proc_click_btn_visible lors du click sur un bouton
    tu met a la place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Proc_click_Suppr_user(btn_ajout_user,e);

    de maniere plus général pour les autres ceci marche parfaitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      private void button2_Click(object sender, EventArgs e)
            {
                textBox1.Text = "test";
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                button2_Click(button1,e);
            }

  5. #5
    Membre actif Avatar de Faereth
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2007
    Messages : 92
    Points : 295
    Points
    295
    Par défaut
    Citation Envoyé par kheironn Voir le message
    Question bête : tu as rattaché ton événement à ton bouton ?
    Vu qu'il l fait en dynamique il le rattache à la main oui. Ce que je comprends pas par contre c'est que ça à l'air d'être du WPF, TableRow et TableCell faisant partit de System.Documents.

    Maintenant il faut peut être ajouter un RoutedEventHandler plutôt qu'un EventHandler.

    Des pistes à creuser..
    Un sage se distingue des autres hommes, non par moins de folie, mais par plus de raison.

    Emile-Auguste Chartier, dit Alain

  6. #6
    Membre habitué Avatar de LeCygne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2010
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2010
    Messages : 91
    Points : 159
    Points
    159
    Par défaut
    Bonjour,

    Question bête : Voyez-vous les quatres boutons apparaitre ?

    Et puis, je suis d'accord avec Faereth:

    Citation Envoyé par Faereth Voir le message
    Tu as essayé de juste ajouter une MessageBox au lieu de changer le Text d'un label? Ou de mettre un point d'arrêt direct dans ton évènement voir si effectivement il passe par celui-ci?

  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 playmobil-62 Voir le message
    de maniere plus général pour les autres ceci marche parfaitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void button2_Click(object sender, EventArgs e)
            {
                textBox1.Text = "test";
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                button2_Click(button1,e);
            }
    Ce n'est pas très propre... il vaut mieux créer une méthode que tu appelles dans les deux gestionnaires d'événements. Dans ce que tu as fais, si tu venais (pour une raison ou une autre) à supprimer le btn2, tu devrais du même coup refaire ton appel... Mais il est vrai que ce code fonctionne ;-)
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Bonjour tout le monde et surtout désolé pour le retard de ma réponse. Les vôtres m'ont beaucoup aidé, notamment certain mécanisme des différentes procédures.
    J'ai donc testé la methode à "playmobil-62" comme ceci par ex :
    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
    private void Proc_click_btn_ajout_user(object sender, EventArgs e) //Procédure executée lors du clic sur bouton ajout user
            {
                
    
                foreach (string user_temp in list_ajout_user)
                {
                    ListBox_ajout_user.Items.Add(user_temp);
    
                    string[] var_user_selectionne = user_temp.Split(sep); //découpage de la chaine avec le séparateur &
                    user = var_user_selectionne[0];
                    droit = var_user_selectionne[1];
    
                    btn_suppr_user = new System.Web.UI.WebControls.Button();
                    btn_suppr_user.Text = "Suppr";
                    btn_suppr_user.ID = user + "&" + droit;                                                             
                    Proc_click_btn_suppr_user(btn_ajout_user, e);
                    this.Controls.Add(new LiteralControl("<tr><td> <p align='center'>" + user + "</td><td> <p align='center'>" + droit + "</td><td> <p align='center'>"));
                    this.Controls.Add(btn_suppr_user);
                    lab_bienvenu.Text += btn_suppr_user.ID;
                    
                }          
              
            }
    
    
            private void Proc_click_btn_suppr_user(object sender, EventArgs e) //Procédure executée lors du clic sur bouton ajout user
            
    	{
                
                lab_bienvenu.Visible = false;  // test pour verifier si mon code est bien executer et si l'apelle de la procedure fonctionne en cachant un label par ex.         
               
            }
    La procédure est bien appelée et exécuté mais dès que je clique sur mon bouton ajouté. Pour schématiser :
    Quand je clique sur mon bouton AJOUT, un tableau est généré avec l'utilisateur sélectionné provenant d'une DropDownList. A chaque nouvel utilisateur selectionné puis validé par mon bouton AJOUT une nouvelle ligne est ajouté a mon tableau avec en bout de ligne un bouton suppr (comme définit dans le "foreach" ci dessus) C'est donc en cliquant sur un des boutons suppr d'une des lignes du tableau qu'il faudrait qu'une autre procédure soit exécutée. Si je m'explique mal dite le moi je comprendrai tout a fait
    Encore merci pour votre aide

Discussions similaires

  1. [Drupal] Appel form ajout de contenu dans une colorbox ou directement dans une vue
    Par cpom dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 17/02/2012, 15h41
  2. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  3. Recherche de valeur dans une feuille et affichage dans une autre
    Par Zebulon777 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/05/2007, 09h40
  4. Réponses: 3
    Dernier message: 06/09/2006, 09h06
  5. Envoie d'un formulaire lors d'un click dans une listBox
    Par MicheMTP13 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/10/2005, 17h34

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