با سلام
من یک کلاس WaterMarkBox نوشتم که از از TextBox به ارث برده شده . من رویدادم رو بدین صورت تعریف کردم
[Browsable(true)]اینم کلاس ValueChangedEventArgs
public event EventHandler<ValueChangedEventArgs<string>> ValueTextChangedEvent;
public class ValueChangedEventArgs<T>:EventArgsحالا این رویداد در قسمت design نمیاد ولی در قسمت کد وجود داره و قابل استفاده است
{
public ValueChangedEventArgs(){ }
public bool Cancel { get; set; }
public T OldValue { get; set; }
}
حتی من در بالای کلاس این رویداد رو به عنوان DefaultEvent تعریف کردم بدین صورت:
[DefaultEvent("ValueTextChangedEvent")]حالا وقتی موقع design روی این کنترل دبل کلیک می کنم رویداد مورد نظر رو تولید می کنه ولی به صورت اشتباه:
class WaterMarkBox : TextBox
{
private void waterMarkBox2_ValueTextChangedEvent(object sender)که درستش این میشه:
{
}
void waterMarkBox2_ValueTextChangedEvent(object sender, mohsen.ValueChangedEventArgs<string> e)از دوستان کسی هست که بنده رو راهنمایی کنه؟
{
}