CancelEventHandler,CancelEventArgs 怎么在自定义事件里通过e.cancle=true取消事件?
如题:
CancelEventHandler,CancelEventArgs :怎么在自定义事件里通过e.cancle=true取消事件?
操作过程类似Form的FormClosing事件里编写e.cancel=true来取消窗体的关闭一样。
目前个人只做到如此:
public event CancelEventHandler Change;
protected virtual void OnChange(object sender, CancelEventArgs e)
{
if (Change != null)
{
CancelEventHandler handler = Change;
handler(sender, e);
}
if (e.Cancel) //这种实现是不行的
{
//e.Cancel = true
}
else
{
//e.Cancel = false
}
}
private string message;
public string Message
{
get
{
return message;
}
set
{
if (message != value)
{
message = value;
OnChange(null, new CancelEventArgs());
}
}
}
望指教。