C#中e.Cancel,e.Handled的区别与应用
2018-06-22 07:48:17来源:未知 阅读 ()
首先并不是每个事件的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中的选中行却被删除了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp控件和html控件的概念区别 2020-03-09
- DataSet与DataTable的区别示例介绍 2020-03-04
- 深入浅析WinForm 进程、线程及区别介绍 2020-02-20
- .NET里面 abstract class和Interface有什么区别以及用法的展 2018-06-22
- WebApi和MVC的区别 2018-06-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash