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:
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