C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法
场景
C#中委托与事件的使用-以Winform中跨窗体传值为例:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700
参考上面的博客。
现在是在主页面点击按钮时弹出窗体,在窗体的load事件中进行事件的订阅,然后关闭窗体,再次打开时执行触发事件后,
订阅的事件就会执行两次,依次类推。
这是因为在窗体关闭的时候没有将原来的事件订阅解除掉。
注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
点击主窗体按钮窗体显示。
FrmCurveCompare curveCompare = new FrmCurveCompare();
curveCompare.StartPosition = FormStartPosition.CenterScreen;
//显示Dialog
curveCompare.ShowDialog();
然后在窗体的load事件中
private void FrmCurveCompare_Load(object sender, EventArgs e)
{ Common.ChartCompare.ChartCompareHelper.OnReloadSelectData += DataTreeListHelper_OnReloadSelectData; }
解决方案在窗体的关闭事件中解除订阅。
首先在属性中找到窗体关闭事件

添加如下代码:
private void FrmCurveCompare_FormClosing(object sender, FormClosingEventArgs e)
{
Common.ChartCompare.ChartCompareHelper.OnReloadSelectData -= DataTreeListHelper_OnReloadSelectData; }
C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法的更多相关文章
- word中选择嵌入式时图片被遮住,只显示小部分的解决方法
选中图片,点击如下 选择 行距选项 将行距改为单位行距即可.
- 【转】【WPF】WPF 登录窗口关闭时打开主窗口
在WPF中设计登录窗口关闭时打开主窗口,自动生成的App.xaml不能满足要求, 1.把App.xaml的属性窗口中的生成操作设定为 无 2.添加Program类 static class Progr ...
- bootstrap的modal弹窗,在多层窗口关闭时只会关闭自窗口,不再关闭父窗口
bootstrap多层modal弹窗时.当子窗口关闭时,所有父窗口一起关闭. 原因是bootstrap在窗口关闭事件委托时,委托给所有窗口. 如源码: this.$element.on('click. ...
- pyqt pyside 设置窗口关闭时删除自身
pyqt pyside 设置窗口关闭时删除自身 self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
- MyEclipse+Tomcat 启动时出现A configuration error occured during startup错误的解决方法
MyEclipse+Tomcat 启动时出现A configuration error occured during startup错误的解决方法 分类: javaweb2013-06-03 14:4 ...
- PowerShell因为在此系统中禁止执行脚本解决方法
PowerShell因为在此系统中禁止执行脚本解决方法 在Powershell直接脚本时会出现: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 " ...
- WebBrowser 的 DocumentCompleted事件不执行的解决方法
原文:WebBrowser 的 DocumentCompleted事件不执行的解决方法 WebBrowser 的 DocumentCompleted事件不执行的解决方法: 使用WebBrowser的P ...
- U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法
U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法 出现原因:在写入或读取文件时,进行复制操作,此时复制到的文件是不完整的!或者移动硬盘/U盘中途被拔出,导致文件损坏 异常现象:被删文件(夹)属 ...
- 从客户端中检测到有潜在危险的 Request.Form 值的问题的解决方法。
在controller控制器里面添加[ValidateInput(false)] [ValidateInput(false)] public ActionResult m ...
随机推荐
- DQL---条件查询、单行函数、多行函数、分组函数、数据类型
一.DQL 1.基本规则: (1)对于日期型数据,做 *,/ 运算不合法,可以进行 +, - 运算.比如给日期加一天或减一个月,结果仍为一个日期.两个日期间只能为减法,返回两个日期相差的天数,两个日期 ...
- [转]JVM系列二:GC策略&内存申请、对象衰老
原文地址:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037056.html JVM里的GC(Garbage Collection)的算法有 ...
- MongoDB 副本集丢失数据的测试
在MongoDB副本集的测试中发现了一个丢数据的案例. 1. 概要描述 测试场景为:一主一从一验证 测试案例 step1 :关闭从副本: step 2 :向主副本中插入那条数据: step 3 :关闭 ...
- CodeForces - 1253D(并查集)
题意 https://vjudge.net/problem/CodeForces-1253D 一个无向图,对于任意l,r,如果l到r有路径,那么l到m也有路径(l<m<r),问最少加多少条 ...
- canopy聚类算法的MATLAB程序
canopy聚类算法的MATLAB程序 凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. canopy聚类算法简介 Canopy聚类算法是一个将对象分组到 ...
- python3.5.3rc1学习一
print ("Hello Pythoh3")print('我喜欢"香蕉"')print('we\'ar go to shoping.')print(" ...
- 【矩阵快速幂】之奥运 hdu 2254
1.城市的编号不是从0到n-1,而是随便的一个数字,需要离散化否则不能存相关信息 2.城市数不超过30,也就是说我的方法开矩阵不超过60,但是我残念的一开始以为最多可能有20000个不同城市 血 ...
- Ant风格路径表达式
ANT通配符有三种: ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 举例: /project/*.a 匹配项目根路径下所有在project路径下的.a文件 /proje ...
- 小程序-tabBar简易版
<!-- 结构 --> <view class="wrapper"> <block wx:for="{{desc}}"> & ...
- mq代替db
系统有个很严重的性能问题,法国人浪费了半年多都没有解决,他们试图从sql的角度分析哪里能有改善,大方向错了,再努力也没用. 我接手以后,也走了点弯路,一上手觉得肯定能用cache解决问题,结果cach ...