ScrollPattern.SetScrollPercent(Double, Double) Methode

Definitie

Hiermee stelt u de horizontale en/of verticale schuifpositie in als een percentage van het totale inhoudsgebied binnen het AutomationElementgebied.

public:
 void SetScrollPercent(double horizontalPercent, double verticalPercent);
public void SetScrollPercent(double horizontalPercent, double verticalPercent);
member this.SetScrollPercent : double * double -> unit
Public Sub SetScrollPercent (horizontalPercent As Double, verticalPercent As Double)

Parameters

horizontalPercent
Double

Het percentage van het totale horizontale inhoudsgebied. NoScroll moet worden doorgegeven als het besturingselement niet in deze richting kan worden geschoven.

verticalPercent
Double

Het percentage van het totale verticale inhoudsgebied. NoScroll moet worden doorgegeven als het besturingselement niet in deze richting kan worden geschoven.

Uitzonderingen

Een waarde die niet kan worden geconverteerd naar een dubbele waarde, wordt doorgegeven.

Een waarde groter dan 100 of minder dan 0 wordt doorgegeven (behalve -1, wat gelijk is aan NoScroll). De HorizontalScrollPercent waarden VerticalScrollPercent worden genormaliseerd tot 0% of 100%.

Er wordt geprobeerd om in een niet-ondersteunde richting te schuiven.

Voorbeelden

In het volgende voorbeeld wordt een ScrollPattern besturingselementpatroon verkregen van een AutomationElement en wordt vervolgens gebruikt om het weer te geven gebied naar de linkerbovenhoek 'home' positie van het inhoudsgebied te schuiven.

///--------------------------------------------------------------------
/// <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.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A ScrollPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetScrollPattern( _
ByVal targetControl As AutomationElement) As ScrollPattern
    Dim scrollPattern As ScrollPattern = Nothing

    Try
        scrollPattern = DirectCast( _
        targetControl.GetCurrentPattern(scrollPattern.Pattern), _
        ScrollPattern)
    Catch
        ' Object doesn't support the ScrollPattern control pattern
        Return Nothing
    End Try

    Return scrollPattern

End Function 'GetScrollPattern
///--------------------------------------------------------------------
/// <summary>
/// Obtains a ScrollPattern control pattern from an automation 
/// element and attempts to scroll to the 'home' position.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
///--------------------------------------------------------------------
private void ScrollHome(AutomationElement targetControl)
{
    if (targetControl == null)
    {
        throw new ArgumentNullException(
            "AutomationElement argument cannot be null.");
    }

    ScrollPattern scrollPattern = GetScrollPattern(targetControl);

    if (scrollPattern == null)
    {
        return;
    }

    try
    {
        scrollPattern.SetScrollPercent(0, 0);
    }
    catch (InvalidOperationException)
    {
        // Control not able to scroll in the direction requested;
        // when scrollable property of that direction is False
        // TO DO: error handling.
    }
    catch (ArgumentOutOfRangeException)
    {
        // A value greater than 100 or less than 0 is passed in 
        // (except -1 which is equivalent to NoScroll).
        // TO DO: error handling.
    }
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a ScrollPattern control pattern from an automation 
''' element and attempts to scroll to the top left 'home' position.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
'''--------------------------------------------------------------------
Private Sub ScrollHome(ByVal targetControl As AutomationElement) 
    If targetControl Is Nothing Then
        Throw New ArgumentNullException( _
        "AutomationElement argument cannot be null.")
    End If
    
    Dim scrollPattern As ScrollPattern = _
    GetScrollPattern(targetControl)
    
    If scrollPattern Is Nothing Then
        Return
    End If
    
    Try
        scrollPattern.SetScrollPercent(0, 0)
    Catch exc As InvalidOperationException
        ' Control not able to scroll in the direction requested;
        ' when scrollable property of that direction is False
        ' TO DO: error handling.
    Catch exc As ArgumentOutOfRangeException
        ' A value greater than 100 or less than 0 is passed in 
        ' (except -1 which is equivalent to NoScroll).
        ' TO DO: error handling.
    End Try

End Sub

Opmerkingen

Deze methode is alleen nuttig wanneer het inhoudsgebied van het besturingselement groter is dan het zichtbare gebied.

Als de waarde NoScroll wordt doorgegeven, wordt aangegeven dat er geen schuifbewegingen in de opgegeven richting zijn.

Van toepassing op