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 :

[c#] "Constuire le nom dum evenement"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut [c#] "Constuire le nom dum evenement"
    slt...

    Je m´excuse si la question a deja ete poser, mais je sais pas au juste ce que je cherche .. et apres avoir passer une aprem sur google et sur "recherce" du forum, je demande votre aide...

    petit exemple:
    2 Button : button1 et button2
    1 TextBx : textbox1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void TextBox1Leave(object sender, System.EventArgs e)
    {
        if(textBox1.Text=="1")
        {
    		button1.PerformClick();
        }
        if(textBox1.Text=="2")
       {
       	button2.PerformClick();
       }
     
    }
    jusque la ca marche

    maitenant, ce que je voulais, c´est avoir un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void TextBox1Leave(object sender, System.EventArgs e)
    {
    button+"textbox1.text" .PerformClick();
    }
    j´ai essayer de "caster", de "Convert.ChangeType" mais rien ..

    merci de vos reponses...

  2. #2
    Membre Expert
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Par défaut
    Tu peux itérer sur les controls de la form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private Control FindControlByName(string name)
    {
    foreach (Control c in this.Controls) //This est supposé être la Form
    {
    if (c.Name == name)
    return c; //found
    }
    return null; //not found
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Par défaut En utilisant un Dictionary
    On peut aussi utiliser un Dictionary.
    On déclare un objet Dictionary qui référencera les boutons à l'aide d'un string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dictionary<string,Button> boutons;
    		public Dictionary<string, Button> Boutons {
    			get { return boutons; }
    			set { boutons = value; }
    On initialise avec les noms voulus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    			boutons=new Dictionary<string, Button>();
    			boutons.Add("button1",this.button1);
    			boutons.Add("button2",this.button2);
    L'appel est très simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (Boutons.ContainsKey(this.textBox1.Text)) Boutons[this.textBox1.Text].PerformClick();
    Cette méthode a l'avantage d'ètre très souple.

  4. #4
    Membre Expert
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Par défaut
    Citation Envoyé par sharpdev Voir le message
    On peut aussi utiliser un Dictionary.
    Sauf que l'objet Form possède déjà une liste de ses contrôles, ajouter un dictionnaire c'est faire un doublon peu utile. Et je ne parles pas de la gestion de ce dictionnaire si jamais l'application se met à créer ou supprimer des contrôles au runtime... alors que la liste des contrôles de Form sera toujours à jour.
    Dupliquer l'info est toujours une mauvaise idée.

  5. #5
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    slt.


    Merci de vos reponses..

    Regardant vos reponses, ca ma mis sur une autre piste...

    Cet exemple parrait functionner bien....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string but_name="b_"+textbox1.text;
       if(this.tabPage2.Controls.ContainsKey(but_name))
       (this.tabPage2.Controls[but_name] as Button).PerformClick();

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Par défaut
    Citation Envoyé par Merlin Voir le message
    Sauf que l'objet Form possède déjà une liste de ses contrôles, ajouter un dictionnaire c'est faire un doublon peu utile. Et je ne parles pas de la gestion de ce dictionnaire si jamais l'application se met à créer ou supprimer des contrôles au runtime... alors que la liste des contrôles de Form sera toujours à jour.
    Dupliquer l'info est toujours une mauvaise idée.
    Entièrement d'accord. Je voulais juste montrer la possibilité d'indexer des objets par des chaines de caractères via un dictionnaire et non créer le design d'une application !

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

Discussions similaires

  1. Obligation double-quote autour des noms de champs ?
    Par itokia dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/03/2013, 07h52
  2. supprimer une table qui a des quotes dans son nom
    Par kleenex dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 16h03

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