在C#或ASP.NET中如何判断Click等事件是否已经被注册避免重复注册

最近的APS排程项目中,写了一个排程甘特图组件,在组件中用到翻页事件的注册,例如如下代码:

            // 翻頁事件
            _fyPrevious.Click += new System.EventHandler(this.OnFyPrevious);
            _fyNext.Click += new System.EventHandler(this.OnFyNext);

在这里之前发生过一种情况,就是事件有时候会被注册了两次,那么如何避免呢? 我们可以通过以下的方式即可避免:

            // 翻頁事件
            _fyPrevious.Click -= new System.EventHandler(this.OnFyPrevious);
            _fyPrevious.Click += new System.EventHandler(this.OnFyPrevious);
            _fyNext.Click -= new System.EventHandler(this.OnFyNext);
            _fyNext.Click += new System.EventHandler(this.OnFyNext);

每次注册之前先减去之前所注册的,即可避免重复注册。

引用通告地址: 点击获取引用地址
标签: .NET C#
评论: 0 | 引用: 0 | 阅读: 1447 | 打印 | 打包 | 转发
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容:
  • 粗体
  • 斜体
  • 下划线
  • 插入图像
  • 超链接
  • 电子邮件
  • 插入引用