zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    帆软查看注册用户的数据库信息
    [已解决]报错:sql server 返回结果出现中文乱码
    消除点击单元格时出现的黑框
    python tcp udp函数装饰器,无需亲自手写socket连接代码。
    介绍一个python代码自动运行在远程机器的三方包。
    python paramiko上传文件夹到linux
    filebeat自定义索引名,filebeat索引模板
    mydumper
    mysql误删ibd文件
    mysql update多字段时引发的一个问题
  • 原文地址:https://www.cnblogs.com/niaomingjian/p/4090571.html
Copyright © 2011-2022 走看看