听君一席话,胜读十年书!有请大虾指点.
MSDN示例
[Visual Basic, C#] 以下示例使用 CancelEventArgs 和 CancelEventHandler 来处理 Form 的 Closing 事件。此代码假定已经创建具有类级别 Boolean 变量(名为 myDataIsSaved)的 Form。
// Calls this method from the InitializeComponent() method of your form
private void OtherInitialize() {
this.Closing += new CancelEventHandler(this.Form1_Cancel);
this.myDataIsSaved = new Boolean();
this.myDataIsSaved = true;
}
protected void Form1_Cancel (Object sender, CancelEventArgs e) {
if (!myDataIsSaved) {
e.Cancel = true;
MessageBox.Show("You must save first.");
}
else {
e.Cancel = false;
MessageBox.Show("Goodbye.");
}
}
各大虾,下面这句何解?
this.Closing += new CancelEventHandler(this.Form1_Cancel);
就这段请详细点给虾米解释下,谢谢!我怎么都不解!!
问题点数:20、回复次数:5Top
1 楼shems(流氓猪)回复于 2002-12-05 12:38:59 得分 15
就是说通过 CancelEventHandler 这个 Delegate(代理)把事件 this.Closing 和 方法 this.Form1_Cancel 挂钩,当事件 this.Closing 发生的时候,就会调用 this.Form1_Cancel 来处理它。
详细的请察看MSDN中的Event 和 Delegate 或相关书籍。Top
2 楼sunwindone(周日华)回复于 2002-12-05 13:23:58 得分 5
Closing是Form关闭时的一个override函数,其余同上.Top
3 楼JadyZhu(木独朱)回复于 2002-12-05 13:43:10 得分 0
可是,为何要用"+="呢?还是不解!有请高人指点一二.Top
4 楼JadyZhu(木独朱)回复于 2002-12-05 13:46:29 得分 0
也就是:
为何this.Closing=
this.Closing+new CancelEventHandler(this.Form1_Cancel)?是这样吗?
Top
5 楼JadyZhu(木独朱)回复于 2002-12-07 16:18:48 得分 0
已解决,谢谢帮忙!Top




