• 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);
    }
  • 相关阅读:
    ASP.NET从字符串中查找字符出现次数的方法
    2009最新Godaddy域名Push教程(GODADDY域名转移会员号)
    jQueryJSON 无刷新三级联动
    select scope_identity()
    BugTracker.NET安装指南
    这道面试必问的JVM面试题70%的Java程序员会做错
    想要金九银十面试通关,不懂 Java多线程肯定是不行的!
    一线互联网公司Redis使用精髓,你必须要掌握这4点!
    5种JVM垃圾收集器特点和8种JVM内存溢出原因
    一次性集中处理大量数据的定时任务,如何缩短执行时间?
  • 原文地址:https://www.cnblogs.com/niaomingjian/p/4090571.html
Copyright © 2020-2023  润新知