| File: System\Windows\Forms\Scrolling\ScrollBar.ScrollBarLastPageButtonAccessibleObject.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms\System.Windows.Forms.csproj (System.Windows.Forms) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Windows.Win32.UI.Accessibility; namespace System.Windows.Forms; public partial class ScrollBar { internal class ScrollBarLastPageButtonAccessibleObject : ScrollBarChildAccessibleObject { public ScrollBarLastPageButtonAccessibleObject(ScrollBar owningScrollBar) : base(owningScrollBar) { } public override AccessibleStates State => OwningScrollBar.IsHandleCreated && !IsDisplayed ? AccessibleStates.Invisible : AccessibleStates.None; internal override bool IsDisplayed { get { if (!base.IsDisplayed) { return false; } return OwningScrollBar._scrollOrientation == ScrollOrientation.HorizontalScroll && OwningScrollBar.RightToLeft == RightToLeft.Yes ? OwningScrollBar.Minimum != OwningScrollBar.Value : ParentInternal.UIMaximum > OwningScrollBar.Value; } } internal override IRawElementProviderFragment.Interface? FragmentNavigate(NavigateDirection direction) { if (!OwningScrollBar.IsHandleCreated) { return null; } return direction switch { NavigateDirection.NavigateDirection_PreviousSibling => IsDisplayed ? ParentInternal.ThumbAccessibleObject : null, NavigateDirection.NavigateDirection_NextSibling => IsDisplayed ? ParentInternal.LastLineButtonAccessibleObject : null, _ => base.FragmentNavigate(direction) }; } internal override int GetChildId() => 4; } }