博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Event Managers
阅读量:7193 次
发布时间:2019-06-29

本文共 3467 字,大约阅读时间需要 11 分钟。

Some PLF-based controls expose a convenient facility for temporarily disabling their events and for checking if an event is being raised. The following sample code illustrates how it is used.

using Infragistics.Win;using Infragistics.Win.UltraWinGrid;private void button2_Click(object sender, System.EventArgs e){    if (this.ultraGrid1.ActiveRow == null)        return;    // Get the grid's event manager.    // The event manager is used to temporarily disable events    // to prevent them from being raised. This can be very    // convenient in a situation where one or more properties    // are being set in code and the events they would normally     // raise would cause unnecessary or counter-productive    // code to be executed.    //    // Note: All events are enabled by default.    GridEventManager eventManager = this.ultraGrid1.EventManager;    // Disable the Before/AfterSelectChange events    eventManager.SetEnabled(GridEventIds.BeforeSelectChange, false);    eventManager.SetEnabled(GridEventIds.AfterSelectChange, false);    // Toggle the selection state of the active row.    // Note: This would normally cause the Before/AfterSelectChange     // events to be raised. However, since the above code disabled    // the events they won't be.    this.ultraGrid1.ActiveRow.Selected = !this.ultraGrid1.ActiveRow.Selected;    // Re-enable the Before/AfterSelectChange events    eventManager.SetEnabled(GridEventIds.BeforeSelectChange, true);    eventManager.SetEnabled(GridEventIds.AfterSelectChange, true);    // The 'AllEventsEnabled' property lets you enable/disable    // all events will a single line of code. If any event is     // disabled the 'AllEventsEnabled' property returns false.    if (!eventManager.AllEventsEnabled)        eventManager.AllEventsEnabled = true;    // The event manager also exposes an 'IsEnabled' method    // to see if an event is enabled or disabled.    if (!eventManager.IsEnabled(GridEventIds.BeforeSelectChange))        eventManager.SetEnabled(GridEventIds.BeforeSelectChange, true);    // The grid event manager also exposes overloaded     // 'IsEnabled' and 'SetEnabled' methods that take an      // event group so that, for example all 'Before' or all    // 'After' events can be enabled/disabled. If any event    // in the group is disabled the 'IsEnabled' method returns    // false.    if (!eventManager.IsEnabled(EventGroups.BeforeEvents))        eventManager.SetEnabled(EventGroups.BeforeEvents, true);    eventManager.SetEnabled(EventGroups.AfterEvents, true);    // The 'InProgress' method will return true if the     // specified event is currently being raised. This    // is often helpful in methods that can be called    // from various points in an application to determine    // what is triggering the call.    if (eventManager.InProgress(GridEventIds.BeforeSelectChange))    {        // ...     }    // The UltraCombo and UltraDropDown controls also expose     // event managers for their custom events. However,    // since they have considerably fewer events they don't    // expose overloaded 'IsEnabled' and 'SetEnabled' methods     // to control groups of events.    ComboEventManager comboManager = this.ultraCombo1.EventManager;    comboManager.SetEnabled(ComboEventIds.BeforeDropDown, true);    DropDownEventManager dropDownManager = this.ultraDropDown1.EventManager;    dropDownManager.SetEnabled(DropDownEventIds.AfterCloseUp, true);}

 

转载于:https://www.cnblogs.com/niaomingjian/p/4090571.html

你可能感兴趣的文章
Redis配置文件详解
查看>>
python学习day4之路文件的序列化和反序列化
查看>>
ArrayList和LinkedList区别及性能测试
查看>>
高精度模板
查看>>
mysql5.7 多级主从+multisource
查看>>
linux 查看文件夹大小 du命令
查看>>
Web前端性能优化之反向代理
查看>>
linux中cron用法
查看>>
Java后台获取Html5拍照的照片并下载的实例方法
查看>>
河马MySQL注入工具v1.1
查看>>
UTR#2 T1
查看>>
Flask-在Flask中跨请求传递数据资源
查看>>
继承c3,网络编程,相互通信
查看>>
django 基础进阶ORM 2
查看>>
AndroidStudio安装流程 以及 使用过程中出现的异常
查看>>
SQL查询语句
查看>>
[转] sql存储过程去锁
查看>>
bzoj1242(弦图判定)
查看>>
谈谈熔断与降级
查看>>
洛谷P4513 小白逛公园
查看>>