Export (0) Print
Expand All

ScrollPattern.Scroll Method

Scrolls the visible region of the content area horizontally and vertically.

Namespace: System.Windows.Automation
Assembly: UIAutomationClient (in uiautomationclient.dll)

public void Scroll (
	ScrollAmount horizontalAmount,
	ScrollAmount verticalAmount
)
public void Scroll (
	ScrollAmount horizontalAmount, 
	ScrollAmount verticalAmount
)
public function Scroll (
	horizontalAmount : ScrollAmount, 
	verticalAmount : ScrollAmount
)
Not applicable.

Parameters

horizontalAmount

The horizontal increment specific to the control. NoScroll should be passed in if the control cannot be scrolled in this direction.

verticalAmount

The vertical increment specific to the control. NoScroll should be passed in if the control cannot be scrolled in this direction.

Exception typeCondition

ArgumentException

A control supports SmallIncrement values exclusively for horizontal or vertical scrolling but a LargeIncrement value is passed in.

InvalidOperationException

An attempt is made to scroll in an unsupported direction.

In the following example, a ScrollPatterncontrol pattern is obtained from an AutomationElement and is then used to scroll the element a requested amount either horizontally or vertically.

    ///--------------------------------------------------------------------
    /// <summary>
    /// Obtains a ScrollPattern control pattern from an 
    /// automation element.
    /// </summary>
    /// <param name="targetControl">
    /// The automation element of interest.
    /// </param>
    /// <returns>
    /// A ScrollPattern object.
    /// </returns>
    ///--------------------------------------------------------------------
    private ScrollPattern GetScrollPattern(
        AutomationElement targetControl)
    {
        ScrollPattern scrollPattern = null;

        try
        {
            scrollPattern =
                targetControl.GetCurrentPattern(
                ScrollPattern.Pattern)
                as ScrollPattern;
        }
        // Object doesn't support the ScrollPattern control pattern
        catch (InvalidOperationException)
        {
            return null;
        }

        return scrollPattern;
    }

...

    ///--------------------------------------------------------------------
    /// <summary>
    /// Obtains a ScrollPattern control pattern from an automation 
    /// element and attempts to scroll the requested amounts.
    /// </summary>
    /// <param name="targetControl">
    /// The automation element of interest.
    /// </param>
    /// <param name="hScrollAmount">
    /// The requested horizontal scroll amount.
    /// </param>
    /// <param name="vScrollAmount">
    /// The requested vertical scroll amount.
    /// </param>
    ///--------------------------------------------------------------------
    private void ScrollElement(
        AutomationElement targetControl,
        ScrollAmount hScrollAmount,
        ScrollAmount vScrollAmount)
    {
        if (targetControl == null)
        {
            throw new ArgumentNullException(
                "AutomationElement argument cannot be null.");
        }

        ScrollPattern scrollPattern = GetScrollPattern(targetControl);

        if (scrollPattern == null)
        {
            return;
        }

        try
        {
            scrollPattern.Scroll(hScrollAmount, vScrollAmount);
        }
        catch (InvalidOperationException)
        {
            // Control not able to scroll in the direction requested;
            // when scrollable property of that direction is False
            // TO DO: error handling.
        }
        catch (ArgumentException)
        {
            // If a control supports SmallIncrement values exclusively 
            // for horizontal or vertical scrolling but a LargeIncrement 
            // value (NaN if not supported) is passed in.
            // TO DO: error handling.
        }
    }

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2014 Microsoft