System.Windows.Interop.ActiveXHost.TransitionDownTo C# (CSharp) Méthode

TransitionDownTo() private méthode

private TransitionDownTo ( ActiveXHelper.ActiveXState state ) : void
state ActiveXHelper.ActiveXState
Résultat void
        internal void TransitionDownTo(ActiveXHelper.ActiveXState state)
        {
            if (!this.GetAxHostState(ActiveXHelper.inTransition))
            {
                this.SetAxHostState(ActiveXHelper.inTransition, true);

                try
                {
                    ActiveXHelper.ActiveXState oldState;

                    while (state < this.ActiveXState)
                    {
                        oldState = this.ActiveXState;

                        switch (this.ActiveXState)
                        {
                            case ActiveXHelper.ActiveXState.Open:
                                Debug.Fail("how did we ever get into the open state?");
                                this.ActiveXState = ActiveXHelper.ActiveXState.UIActive;
                                break;
                            case ActiveXHelper.ActiveXState.UIActive:
                                TransitionFromUIActiveToInPlaceActive();
                                Debug.Assert(this.ActiveXState == ActiveXHelper.ActiveXState.InPlaceActive, "Failed transition");
                                this.ActiveXState = ActiveXHelper.ActiveXState.InPlaceActive;
                                break;
                            case ActiveXHelper.ActiveXState.InPlaceActive:
                                TransitionFromInPlaceActiveToRunning();
                                Debug.Assert(this.ActiveXState == ActiveXHelper.ActiveXState.Running, "Failed transition");
                                this.ActiveXState = ActiveXHelper.ActiveXState.Running;
                                break;
                            case ActiveXHelper.ActiveXState.Running:
                                TransitionFromRunningToLoaded();
                                Debug.Assert(this.ActiveXState == ActiveXHelper.ActiveXState.Loaded, "Failed transition");
                                this.ActiveXState = ActiveXHelper.ActiveXState.Loaded;
                                break;
                            case ActiveXHelper.ActiveXState.Loaded:
                                TransitionFromLoadedToPassive();
                                Debug.Assert(this.ActiveXState == ActiveXHelper.ActiveXState.Passive, "Failed transition");
                                this.ActiveXState = ActiveXHelper.ActiveXState.Passive;
                                break;
                            default:
                                Debug.Fail("bad state");
                                this.ActiveXState = this.ActiveXState - 1;  // To exit the loop
                                break;
                        }

                        OnActiveXStateChange((int)oldState, (int)this.ActiveXState);
                    }
                }
                finally
                {
                    this.SetAxHostState(ActiveXHelper.inTransition, false);
                }
            }
        }

Usage Example

Exemple #1
0
        // Token: 0x0600619A RID: 24986 RVA: 0x001B5E8C File Offset: 0x001B408C
        private static void OnLostFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            ActiveXHost activeXHost = sender as ActiveXHost;

            if (activeXHost != null)
            {
                Invariant.Assert(activeXHost.ActiveXState >= ActiveXHelper.ActiveXState.UIActive, "Should at least be UIActive when losing focus");
                bool flag = !activeXHost.IsKeyboardFocusWithin;
                if (flag)
                {
                    activeXHost.TransitionDownTo(ActiveXHelper.ActiveXState.InPlaceActive);
                }
            }
        }
All Usage Examples Of System.Windows.Interop.ActiveXHost::TransitionDownTo