PDA

View Full Version : ایجاد یک EventHandler برای زمان تغییر متغیر



ariyanna
سه شنبه 24 خرداد 1390, 10:28 صبح
سلام دوستان و استادان گرامی
من می خوام یک even handler روی یک متغیر تعریف کنم تا هد موقع که این متغیر مقدارش عوش شد یا تغییری کرد تابع مورد نظر من اجـرا بشه ! چطور باید اینکار رو بکنم ؟ :متفکر::متفکر:

gwbasic
سه شنبه 24 خرداد 1390, 11:38 صبح
شما باید در کلاستون یک فیلد (همان متغیر شما) و روی آن یک property تعریف کنید. در قسمت set چک می کنید که اگه فیلد شما تغییر کرد آن متد صدا زده شه البته اگه متد مشخص باشد وگرنه باید event تعریف کنید.

Felony
سه شنبه 24 خرداد 1390, 13:24 عصر
میتونید یک Struct برای این کار پیاده کنید :

public struct MyStruct
{
private void MyEvent()
{
MessageBox.Show("The value of Number has been changed , Number = " + temp.ToString());
}

private int temp;

public int Number
{
get
{
return temp;
}
set
{
temp = value;
MyEvent();
}
}
}

استفاده :

MyStruct test = new MyStruct();
test.Number = 10;
test.Number = 20;

r00tkit
سه شنبه 24 خرداد 1390, 13:55 عصر
جواب مجتبی درسته ولی بهتره INotifyPropertyChanged رو پیاده سازی کنی ( که در باطن با روش مجتبی یکیه)

ariyanna
چهارشنبه 25 خرداد 1390, 09:52 صبح
ممنون دوستای خوبم ... همتون خیلی خوب و دقیق و عــــالی توضیح دادین ....
به داشتن استادایی مثل شما افتخار می کنم ...
بازم ممنون :لبخندساده: