PowerArgs.Cli.FocusManager.Remove C# (CSharp) Method

Remove() public method

Removes the control from all focus contexts
public Remove ( ConsoleControl c ) : void
c ConsoleControl The control to remove
return void
        public void Remove(ConsoleControl c)
        {
            foreach(var context in focusStack)
            {
                context.Controls.Remove(c);
            }
        }

Usage Example

Example #1
0
        private bool ControlRemovedFromVisualTreeRecursive(ConsoleControl c)
        {
            bool focusChanged = false;

            if (c is ConsolePanel)
            {
                foreach (var child in (c as ConsolePanel).Controls)
                {
                    focusChanged = ControlRemovedFromVisualTreeRecursive(child) || focusChanged;
                }
            }

            if (FocusManager.FocusedControl == c)
            {
                FocusManager.ClearFocus();
                focusChanged = true;
            }

            FocusManager.Remove(c);

            c.RemovedFromVisualTreeInternal();
            c.Application = null;
            ControlRemoved.Fire(c);
            c.Dispose();
            return(focusChanged);
        }