C#中e.Cancel,e.Handled的区别与应用
首先并不是每个事件的e参数都有上述两个属性。
e.Cancel:获取或设置指示是否应取消事件的值;e.Handled:获取或设置一个值,该值指示是否处理过此事件。
下面说说比较常见的场景:
1)e.cancel:
①窗口关闭,比如用户点击窗口右上角想关闭,但代码里弹出确认框让用户确认是否真的想退出,如果用户选择了否,则e.cancel = true即可;
②DataGridview单元格的编辑,如果想排除某些列的编辑操作,只需在CellBeginEdit事件中,判断如果当前单元格属于要排除的列,e.Cancel = true即可,也就不会执行CellEndEdit事件了;
③让TreeView控件指定节点的选中无效,如让根节点的选中无效,只需在TreeView控件的BeforeSelect事件中判断如果为根节点,e.Cancel = true即可,也就不会执行节点的NodeMouseClick事件了。
2)e.Handled:多用在过滤某些事件,比如键盘按键
①如要求文本框只能输入数字,那么当输入的是字母,则e.handled=true即可;
②DataGridView控件默认按下Delete键会删除选中的行,如果想实现按下Delete键时弹出确认框是否删除,点击“是”才删除数据库中对应的数据,相应的也删除DataGridview的选中行,点击“否”不删除数据库中对应的数据,也不删除DataGridview的选中行,只需在点击“否”时,e.Handled = true即可。e.Handled = true很关键,没有这句,点击“否”时虽然能控制不删除数据库中的对应数据,但DataGridview中的选中行却被删除了。
转载于:https://www.cnblogs.com/Scl891004X/p/6903022.html
C#中e.Cancel,e.Handled的区别与应用相关推荐
- 【DB笔试面试758】在Oracle的DG中,Switchover和Failover的区别有哪些?
♣ 题目部分 在Oracle的DG中,Switchover和Failover的区别有哪些? ♣ 答案部分 一个DG环境中只有两种角色:Primary和Standby.所谓角色转换就是让数据库在这两种角 ...
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- 无法解析 list 中的方法 iterator_Python-list中的append()和extend()方法区别
一.append()和extend()方法都是用来添加数据到list末尾的,两者的区别: append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据 extend()添加的时 ...
- Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- PHP中file_exists与is_file,is_dir的区别介绍
PHP中file_exists与is_file,is_dir的区别介绍 作者: 字体:[增加 减小] 类型:转载 时间:2012-09-12 我要评论 很显然file_exists是受了asp的影响, ...
- python post与get的区别_python中get和post有什么区别
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...
- SQL语法中drop,delete与truncate的区别
SQL语法中drop,delete与truncate的区别 delete是DML语句,可以选择删除部分数据,也可以选择删除全部数据:删除的数据可以回滚:不会释放空间 drop是DDL语句,删除表结构和 ...
- mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣
mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mys ...
- reg类型变量综合电路_verilog中reg和wire类型的区别
verilog 中 reg 和 wire 类型的区别 reg 相当于存储单元, wire 相当于物理连线 Verilog 中变量的物理数据分为线型和寄存器型.这两种类型的变量在定义时要 设置位宽,缺省 ...
- Linux中内存buffer和cache的区别
Linux中内存buffer和cache的区别 分类: LINUX 原文地址:Linux中内存buffer和cache的区别 作者:platinaluo 细心的朋友会注意到,当你在linux下频繁存取 ...
最新文章
- Golang的反射reflect深入理解和示例
- puppet安装常遇见的问题
- 中国大学MOOC 编译原理 第6讲测验
- 理解数据类型与数学运算:求和、温度转换2
- LeetCode 876. 链表的中间结点
- Python找出某元素的索引下标
- cnn文本分类python实现_CNN文本分类
- 请求zabbix_快速部署zabbix
- linux下实现web数据同步的四种方式(性能比较)
- 从冷战到深度学习,一文看懂机器翻译发展史
- POJ NOI0105-40 数1的个数
- 12月第1周网络安全报告:85.9万境内主机感染病毒
- ORACLE数据库数据迁移
- VMware 运行出现“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”解决方案
- 中青杯数学建模竞赛是什么级别的比赛_2020年第三届中青杯全国大学生数学建模竞赛...
- 发票显示服务器不可用什么原因,增值税发票服务平台常见问题汇总:发票勾选需要注意哪些问题?...
- 无线桥接(副路由器连接主路由器,以实现WiFi范围扩大)
- python模拟生成微软序列号,python生成随机序列号
- TODO LIST案例
- Android Window悬浮窗窗口全屏(隐藏导航栏状态栏)
热门文章
- appium python自动测试 百度网盘_S35 移动App Appium自动化测试教程Appium+Python 百度云...
- 递归判断一个数是不是回文数
- Unable to install “xxxx”
- 基础集合论 第一章 集合与集合的运算
- 多源数据的融合发展现状与趋势(一)——多源数据介绍
- arm开发板源码编译mysql
- 【硬十宝典】——1.2【基础知识】开关电源各种拓扑结构的特点
- Open3DCGAL DSM(数字表面模型)
- java 框架注入漏洞修复_Mybatis框架下易产生SQL注入漏洞的场景和修复方法
- 电池pack结构_详解锂电池pack基础知识,18650锂电池pack工艺技巧总结分析