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 :

Comment recuperer les events d un groupe de controles indexes ?


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Comment recuperer les events d un groupe de controles indexes ?
    Je programmais avant avec Visual Basic 6.
    Il me suffisait de faire un groupe de controles indexes
    je double clique sur le controle et je recupere un event avec l'index correspondant.
    Comment on peut faire ça en C# ?
    Je crois qu'il faut utiliser les events et les delegates mais j'ai rien compris à MSDN

    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Quand tu sélectionnes un Control, regarde la fenetre propriétés : il y a un bouton evennement (un éclair tout en haut de la fenetre) : quand tu double clique dessus, tu créer l'event. tu peux aussi choisir le nom de ton event en cliquant une fois.

    Sinon, en double cliquant sur un Bouton, par défaut il créer un event Click.

    Si tu veux gérer toi meme tes events, tu peux les créer et les affecter. Tu peux créer un event pour plusieurs control. "sender" te dira qui a envoyé l'evennement


    (enfin je pense que c'est ta question, sinon je l'ai pas comprise)

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Si j'ai 1 seul controle, c simple
    Si j'ai 100 controles indexés dans une collection,
    je ne peux pas faire 100 events différents pour chaque controle,
    je veux faire un event generique qui tient compte de l'index du controle en question

  4. #4
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Ben comme le dit Chubyone :

    Si tu veux gérer toi meme tes events, tu peux les créer et les affecter. Tu peux créer un event pour plusieurs control. "sender" te dira qui a envoyé l'evennement

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    tu affectes le meme event a tous. Le sender te dira qui l'a émis.

    Typiquement un code complex pour rien faire :

    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
     
     
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load( object sender, EventArgs e )
            {
                Button kButton1 = new Button();
                kButton1.Name = "wazaaaaaaaaa";
                kButton1.Height = 100;
                kButton1.Width = 100;
                kButton1.Left = 100;
                kButton1.Top = 100;
                kButton1.Click += new System.EventHandler( this.event_test );
                this.Controls.Add( kButton1 );
            }
     
     
            private void event_test( object sender, EventArgs e )
            {
                Console.WriteLine( ( (Button)( sender ) ).Name );
                ( (Button)( sender ) ).Text = ( (Button)( sender ) ).Name + new Random().Next();
            }
        }
    }
    Mise en garde : je caste en Button cash, evidemment si tu as autre chose que des Button sur ton event tu switch en fonction du GetType() sur sender

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Points : 18
    Points
    18
    Par défaut CommandName
    Tu peux jouer sur la propriété CommandName de l’objet bouton …

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
     
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Button1.CommandName = "cmd1";
            Button2.CommandName = "cmd2";
            Button3.CommandName = "cmd3";
            Button4.CommandName = "cmd4";
            Button5.CommandName = "cmd5";
            Button1.Command += new CommandEventHandler(Button_Command);
            Button2.Command += new CommandEventHandler(Button_Command);
            Button3.Command += new CommandEventHandler(Button_Command);
            Button4.Command += new CommandEventHandler(Button_Command);
            Button5.Command += new CommandEventHandler(Button_Command);
     
     
        }
        protected void Button_Command(object sender, CommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "cmd1":
                    Label1.Text = "button 1 activated";
                    break;
                case "cmd2":
                    Label1.Text = "button 2 activated";
                    break;
                case "cmd3":
                    Label1.Text = "button 3 activated";
                    break;
                case "cmd4":
                    Label1.Text = "button 4 activated";
                    break;
                case "cmd5":
                    Label1.Text = "button 5 activated";
                    break;
                default:
                    Label1.Text = "NADA";
                    break;
            }
     
     
        }
    }

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Merci !!!!
    Merci énormément !!!

    Ca a marché !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/06/2005, 09h07
  2. Plus de partitions, comment récupérer les fichiers
    Par Michaël dans le forum Administration système
    Réponses: 6
    Dernier message: 01/06/2005, 20h41
  3. comment recuperer les messages
    Par devalender dans le forum Débuter
    Réponses: 2
    Dernier message: 17/06/2004, 19h30
  4. Comment recuperer les ip de la commande ipcinfig ?
    Par Walm dans le forum C++Builder
    Réponses: 5
    Dernier message: 04/05/2004, 16h04

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