C#中e.Cancel,e.Handled的区别与应用

2018-06-22 07:48:17来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

首先并不是每个事件的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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:.NET程序分页(仅支持MSSQL2005及以上)

下一篇:.net 企业管理系统快速搭建框架