当前位置: 首页 > news >正文

C# 用户控件UserControl事件解绑资源释放

用户控件继承子 UserControl 。

现在有个业务需求在UserControl 所在的窗体关闭时解除事件HMouseDown绑定。

因没有相关的Close事件。后来本人想了一个办法在  ROICtlDesigner类的 Dispose 方法中执行相关的释放代码  比如解除事件绑定 释放资源

public partial class ROICtl : UserControl
{   private IWindowDisplay window;public IWindowDisplay WindowDisplay{get { return window; }set{window = value;BindingEvents();}}void BindingEvents(){if (window != null){window.HMouseDown += WindowDisplay_HMouseDown;}}private void WindowDisplay_HMouseDown(object sender, HMouseEventArgs e){try{if (!IsPress && e.Button == MouseButtons.Middle){IsPress = true;}}catch (Exception){ }                }
}
    partial class ROICtl{/// <summary> /// 必需的设计器变量。/// </summary>private System.ComponentModel.IContainer components = null;/// <summary> /// 清理所有正在使用的资源。/// </summary>/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>protected override void Dispose(bool disposing){if (disposing && (components != null)){components.Dispose();}if (window != null){window.HMouseDown -= WindowDisplay_HMouseDown;}base.Dispose(disposing);}}

http://www.lryc.cn/news/341350.html

相关文章:

  • QT-QTCreator环境配置
  • 最大连续和
  • 分布式系统事务一致性解决方案(基于事务消息)
  • Unity Animation--动画剪辑
  • 如何将 redis 快速部署为 docker 容器?
  • iOS - Undefined symbols: 解决方法
  • 优化理论复习——(三)
  • RK3568笔记二十四:基于Flask的网页监控系统
  • [Django 0-1] Core.Serializers 模块
  • 鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的
  • Linux 进程间通信之匿名管道
  • 数据结构与算法学习笔记六--数组和广义表(C语言)
  • 图搜索算法详解
  • 安卓中常见的UI控件
  • 基于Labelme的背部穴位关键点制作
  • go-mysql-transfer 同步数据到es
  • 外包干了3天,技术就明显退步了。。。。。
  • 将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 1
  • String、StringBuilder、StringBuffer之间的区别是什么?
  • docker系列8:容器卷挂载(上)
  • 痉挛性斜颈患者自己做哪些运动对脖子好?
  • 数据结构——二叉树链式结构的实现(上)
  • 数据结构内容概览
  • 当Linux系统运行时间长了之后,会出现磁盘空间不足提示,需要及时进行清理
  • 【Flask 系统教程 4】Jinjia2模版和语法
  • 与 Apollo 共创生态:七周年大会心得
  • 『FPGA通信接口』DDR(4)DDR3内存条SODIMMs读写测试
  • Element UI 快速入门指南
  • CentOS常用命令有哪些?
  • cmd查看局域网内所有设备ip