如何知道事件體已經綁定了某個事件? 假設我的程式碼是this.FormClosing += new FormClosingEventHandler (this.freeThread);那我要如何知道 this.FormClosing 已經綁定了 this.freeThread 這個事件呢?因為上面那段我我不想要重複綁定事件,或是說要如何避免呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 this.FormClosing看这个是不是为空了 看看这个帖子,需要用到:GetInvocationListhttp://topic.csdn.net/u/20100419/14/c0b13122-95af-409b-b947-611c7649268e.html Delegate[] allDlg = new Delegate[this.GetInvocationList().GetLength(0)]; this.GetInvocationList().CopyTo(allDlg, 0); foreach (Delegate dlg in allDlg) { if (dlg.Method.Name == "freeThread") { //不在绑定 } else { //绑定 this.FormClosing += new FormClosingEventHandler (freeThread); MessageBox.Show("绑定成功"); } } 謝謝你,這就是我要的,不過 c# 做起來有點麻煩,不像 AS3 會在每個物件都有個 hasEventListener 方法可以直接傳回結果。 关于消息 MSDN上的例子 求解答 winForm上传文件指定文件到远程服务器 高手进,急急急.!!!关于access数据库在C#中读取的问题. Error List镶入 vs 的下边栏目 安装XP-SP2的奇怪问题?????? datagrid模板列中的数据绑定?? 运行ASP.NET网站管理工具遇到错误? asp.net后台服务更新前台数据应该如何更新? =============小有不爽中,也散分============= 请问C#中的窗口继承问题: 互斥工具条 C# 音频播放器
看这个是不是为空了
Delegate[] allDlg = new Delegate[this.GetInvocationList().GetLength(0)];
this.GetInvocationList().CopyTo(allDlg, 0); foreach (Delegate dlg in allDlg)
{
if (dlg.Method.Name == "freeThread")
{
//不在绑定
}
else
{
//绑定
this.FormClosing += new FormClosingEventHandler (freeThread);
MessageBox.Show("绑定成功");
}
}
謝謝你,這就是我要的,不過 c# 做起來有點麻煩,不像 AS3 會在每個物件都有個 hasEventListener 方法可以直接傳回結果。