Usercontrol + évènements + propriétés en format "liste"

Résolu
cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 - 17 sept. 2010 à 14:50
cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 - 19 sept. 2010 à 21:10
Bonjour,

j'ai 2 questions pour le prix d'une.

Question N°1:

Je suis en train de me créer un usercontrol. Celui-ci contient une variable qui peut-être lue par l'utilisateur du usercontrol. J'ai donc créé une Propriétés (get)

public int Value
{
get {return _value;}
}


Maintenant ce que j'aimerai c'est que l'utilisateur puisse s'abonner à un évènement lorsque ma variable change de valeur.
un truc du genre:
myUserControl.ValueChanged(object sender, EventArgs e)


Question n°2:

Est-il possible d'avoir une liste déroulante dans une propriété d'un usercontrol?
Du même type que ce que propose la propriété "FormBorderStyle".

Merci d'avance.

Nico

A+

*******************************************
SharpDevelop est mon ami! CSharpFR.com aussi!!!!!!!!!

2 réponses

yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 7
17 sept. 2010 à 15:54
biensur que tu peux , d'ailleur on peut tout faire , sauf la cuisine , et j'ai faim la !!

donc pour te repondre :

question 1:

rajoute une event a ton user controle

public event EventHandler OnValueChanged;


la l'utilisateur de l'usercontrol pourra s'y abonner avec

....OnValueChanged += new EventHandler(DayView_OnValueChanged);


et dans la propriété

        public int Value
        {
            get { return _value; }
            private set // je met private car je ne veux pas qu'elle soit modifié en dehors du controls
            {
                _value = value;

                if (OnValueChanged != null)
                    OnValueChanged(this, EventArgs.Empty);
            }
        }


question 2:

pour ta liste deroulante exemple :

en dehors de la class de l'user controls
public enum ElementsDeListe
{
one,
two,
tree
}



dans la class de ton usercontrol

public ElementsDeListe State
{
get;
set;
}



et tu peux faire comme dans l'exemple 1 pour l'evenement
3
cs_thebigboss Messages postés 216 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 12 avril 2017 2
19 sept. 2010 à 21:10
Merci beaucoup, les deux réponses marchent impec!!!!


A+

*******************************************
SharpDevelop est mon ami! CSharpFR.com aussi!!!!!!!!!
0
Rejoignez-nous