hassan razavi
دوشنبه 03 دی 1386, 10:57 صبح
سلان دوستان
فرض کنید یک UserControl رو ایجاد کردیم.
یک Properties جدید بنام HeaderName که Read/Writeable هم هست براش ایجاد کردیم.
حالا می خواهیم یک Event بنام OnHeaderNameChange بسازیم که وقتی که مقدار خاصیت HeaderName عوض میشه ، این Event فعال بشه.
در User Control مراحل زیر انجام شده :
public delegate void HeaderChang();
public event HeaderChang OnHeaderNameChange ;
تا اینجا مشکلی نیست و Event مورد نظر به کنترل اضافه شده (با اضافه کردن این کنترل در یک پروژه WinApp ، در لیست رویدادها این Event اضافه شده)
اما مسئله در محل قراردادن فرمان fire برای این Event در UserControl میباشد.
من کد OnHeaderNameChange() رو در متد set مربوط به Properties نوشتم. یعنی با تغیر این خاصیت و اجرای متد Set ، رویداد مورد نظر fire می شود.
ولی متاسفانه خطای Object reference not set to an instance of an object مواجه میشم.
در حالی که وقتی که مثلا یک Button به UserControl اضافه می کنم و این Event رو در رویداد Click آم Bottun فعال میکنم ، مشکلی پیش نمیاد.
مرسی از راهنمائیتون
فرض کنید یک UserControl رو ایجاد کردیم.
یک Properties جدید بنام HeaderName که Read/Writeable هم هست براش ایجاد کردیم.
حالا می خواهیم یک Event بنام OnHeaderNameChange بسازیم که وقتی که مقدار خاصیت HeaderName عوض میشه ، این Event فعال بشه.
در User Control مراحل زیر انجام شده :
public delegate void HeaderChang();
public event HeaderChang OnHeaderNameChange ;
تا اینجا مشکلی نیست و Event مورد نظر به کنترل اضافه شده (با اضافه کردن این کنترل در یک پروژه WinApp ، در لیست رویدادها این Event اضافه شده)
اما مسئله در محل قراردادن فرمان fire برای این Event در UserControl میباشد.
من کد OnHeaderNameChange() رو در متد set مربوط به Properties نوشتم. یعنی با تغیر این خاصیت و اجرای متد Set ، رویداد مورد نظر fire می شود.
ولی متاسفانه خطای Object reference not set to an instance of an object مواجه میشم.
در حالی که وقتی که مثلا یک Button به UserControl اضافه می کنم و این Event رو در رویداد Click آم Bottun فعال میکنم ، مشکلی پیش نمیاد.
مرسی از راهنمائیتون