MonoGameUi.Control.InternalTabbedBackward C# (CSharp) Method

InternalTabbedBackward() private method

Tabbt den aktuellen Fokus eines Controls eine Stelle zurück.
private InternalTabbedBackward ( ) : bool
return bool
        internal bool InternalTabbedBackward()
        {
            // Root selektiert -> Unselekt und exit
            if (focused)
            {
                Unfocus();
                return false;
            }

            bool findFocused = Focused != TreeState.None;
            var controls = Children.OrderByDescending(c => c.TabOrder).ToArray();
            foreach (var control in controls)
            {
                // Solange skippen, bis das fokusierte Control dran ist
                if (findFocused && control.Focused != TreeState.None)
                    findFocused = false;

                if (!findFocused && control.InternalTabbedBackward())
                    return true;
            }

            // Noch kein Fokus gefunden -> root
            if (CanFocus && TabStop && AbsoluteEnabled && AbsoluteVisible)
            {
                Focus();
                return true;
            }

            return false;
        }