This documentation is archived and is not being maintained.

ScrollPattern.ScrollHorizontal Method

Scrolls the currently visible region of the content area, horizontally, the specified ScrollAmount.

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

public void ScrollHorizontal (
	ScrollAmount amount
)
public void ScrollHorizontal (
	ScrollAmount amount
)
public function ScrollHorizontal (
	amount : ScrollAmount
)
Not applicable.

Parameters

amount

The horizontal ScrollAmount increment specific to the control.

Exception typeCondition

ArgumentException

If 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 horizontally scroll the element a requested amount.

    ///--------------------------------------------------------------------
    /// <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 horizontally scroll the requested amount.
    /// </summary>
    /// <param name="targetControl">
    /// The automation element of interest.
    /// </param>
    /// <param name="hScrollAmount">
    /// The requested horizontal scroll amount.
    /// </param>
    ///--------------------------------------------------------------------
    private void ScrollElementHorizontally(
        AutomationElement targetControl,
        ScrollAmount hScrollAmount)
    {
        if (targetControl == null)
        {
            throw new ArgumentNullException(
                "AutomationElement argument cannot be null.");
        }

        ScrollPattern scrollPattern = GetScrollPattern(targetControl);

        if (scrollPattern == null)
        {
            return;
        }

        if (!scrollPattern.Current.HorizontallyScrollable)
        {
            return;
        }

        try
        {
            scrollPattern.ScrollHorizontal(hScrollAmount);
        }
        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
Show: