Event Managers
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);
}
Event Managers的更多相关文章
- ARTIFICIAL INTELLIGENCE FOR GAMES (Ian Millington / John Funge 著)
相关网站:http://www.ai4g.com PART I AI AND GAMESCHAPTER1 INTRODUCTIONCHAPTER2 GAME AIPART II TECHNIQUESC ...
- GUI & Event例子
Student No.: _______________ Name: ________________________________________1TK2934 Object-Oriented P ...
- python网络编程-进程间数据通信(Queue,Pipe ,managers)
一:进程间数据交换方法 不同进程间内存是不共享的,要想实现两个进程间的数据交换,可以用以下方法: Queue,Pipe ,managers 1)Queue,使用方法跟threading里的queue差 ...
- Storm-源码分析-EventManager (backtype.storm.event)
Protocol and DataType 大体结构, 定义protocol EventManager, 其实就是定义interface 函数event-manager, 主要做2件事 1. 启动ev ...
- UI Framework-1: Aura Layout Managers
Layout Managers LayoutManager is a convenient abstraction that separates messy layout heuristics fro ...
- 如何利用ETW(Event Tracing for Windows)记录日志
ETW是Event Tracing for Windows的简称,它是Windows提供的原生的事件跟踪日志系统.由于采用内核(Kernel)层面的缓冲和日志记录机制,所以ETW提供了一种非常高效的事 ...
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- Atitit 解决Unhandled event loop exception错误的办法
Atitit 解决Unhandled event loop exception错误的办法 查看workspace/.metadata/.log org.eclipse.swt.SWTError: No ...
- Java模拟Windows的Event
场景 开发中遇到一个场景,业务操作会不定时的产生工作任务,这些工作任务需要放入到一个队列中,而另外会有一个线程一直检测这个队列,队列中有任务就从队列中取出并进行运算. 问题 业务场景倒是简单,只不过这 ...
随机推荐
- IDFA问题,苹果上传问题。improper Advertising identifier [IDFA] Usage.
原地址: 报告 improper Advertising identifier [IDFA] Usage. Your app contains the Advertising Identifier [ ...
- 【BZOJ 3190】 3190: [JLOI2013]赛车 (半平面交)
3190: [JLOI2013]赛车 Description 这里有一辆赛车比赛正在进行,赛场上一共有N辆车,分别称为个g1,g2--gn.赛道是一条无限长的直线.最初,gi位于距离起跑线前进ki的位 ...
- coco2d-js 多屏适配相关API
setDesignResolutionSize() //设计分辨率大小及模式 setContentScaleFactor() //内容缩放因子 setSearchPaths() //资源搜索路径 g ...
- Android安全问题 抢先拦截短信
同上篇文章一样,这里只陈述结果,代码分析稍后给出 导读:本文叙述如何先于某些伪杀毒软件.病毒.常规软件获取到短信 众所周知,android系统在收到短信息的时候会发送广播,但是此广播是有序广播,也就是 ...
- windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机
首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直 ...
- IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法
浏览器都有自己的 缓存机制,一般CSS和图片都会被缓存在本地,这样我们修改的CSS就看不到效果 了,每次都去清空缓存,再刷新看效果,这样操作太麻烦了.在IE下我们可以直接 去修改internet选项/ ...
- C++11内存模型的粗略解释
基本解释 C++11引入了多线程,同时也引入了一套内存模型.从而提供了比较完善的一套多线程体系.在单线程时代,一切都很简单.没有共享数据,没有乱序执行,所有的指令的执行都是按照预定的时间线.但是也正是 ...
- umount nfs状态为busy的处理方法
umountall状态为busy的系统: 以下四种情况,文件系统都会显示:umount: file_system_name busy 1 A program is accessing a file o ...
- js createElement
http://www.w3schools.com/js/js_htmldom_nodes.asp var child = document.getElementById("p1" ...
- TRSWCM学习问题总结
1,置标属性"id"是用来制定调用那个栏目的数据(全字配备,可以文字匹配好奇怪,好不专业.所以建议创建栏目或者站点的时候,将唯一标识设置成英文,这样才符合程序比对习惯) 2,需要添 ...