به مثال زیر توجه کنید :
public class MyLabel : Control
{
public event EventHandler SetFinalText;
public string FinalText { get; set; }
public override string Text
{
get
{
return base.Text;
}
set
{
base.Text = value;
Invalidate();
if( base.Text.Equals( FinalText ))
SetFinalText( this, new EventArgs( ));
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawString(Text, this.Font, System.Drawing.Brushes.Red, new System.Drawing.PointF(10, 10));
}
}
در این کد کنترلی که ایجاد شده است رویداد جدیدی بنام SetFinalText ساختیم.
یک پروپرتی بنام FinalText هم ایجاد کرده ایم که چنانچه مقدار Text توسط کاربر برابر این مقدار ست شود این event فراخوانی میشود.
نحوه استفاده هم بصورت زیر است :
فرض میکنیم شما این کنترل را روی فرم خود گذاشته اید و پروپرتی FinalText آن را با hello ست کردهاید. همچنین در قسمت events از بخش Properties این کنترل با انتخاب رخداد SetFinalText ، مثلا کد زیر را برای زمانی که این رخداد باصطلاح fire میشود نوشته اید :
private void myLabel1_SetFinalText(object sender, EventArgs e)
{
MessageBox.Show("set final text");
}
یک textbox هم روی قرم قرار دارد که کاربر بوسیله این textbox امکان تغییر text کنترل MyLabel1 را دارد هرگاه کاربر مقدار hello را به کنترل شما ست کند event fire صورت میگیرد