Example #1
0
        private bool Traverse_CanDescend(ref TraversalInfo info, ref TraverseSettings settings)
        {
            if (!settings.AllowDescend)
            {
                return(false);
            }
            if (!info.ContainsChildren)
            {
                return(false);
            }
            if (!settings.AllowDescendIfDisabled && !info.Control.Enabled)
            {
                return(false);
            }
            // FIXME: Optimize this check
            if (!settings.AllowDescendIfInvisible && Control.IsRecursivelyTransparent(info.Control, true))
            {
                return(false);
            }

            return(true);
        }
Example #2
0
 private Control FindFocusableChildOfDefaultFocusTarget(Control defaultFocusTarget, TraverseSettings settings)
 {
     if (defaultFocusTarget.IsValidFocusTarget)
     {
         return(defaultFocusTarget);
     }
     else if ((defaultFocusTarget is IControlContainer icc) && icc.ChildrenAcceptFocus)
     {
         TraverseChildren(icc.Children, ref settings, out TraverseChildrenEnumerable enumerable);
         return(enumerable.FirstOrDefault().Control);
     }