ScrollPattern.ScrollHorizontal(ScrollAmount) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Scrollt den aktuell sichtbaren Bereich des Inhaltsbereichs horizontal um den angegebenen ScrollAmount.
public:
void ScrollHorizontal(System::Windows::Automation::ScrollAmount amount);
public void ScrollHorizontal (System.Windows.Automation.ScrollAmount amount);
member this.ScrollHorizontal : System.Windows.Automation.ScrollAmount -> unit
Public Sub ScrollHorizontal (amount As ScrollAmount)
Parameter
- amount
- ScrollAmount
Die für das Steuerelement spezifische horizontale ScrollAmount-Schrittweite.
Ausnahmen
Wenn ein Steuerelement SmallIncrement-Werte ausschließlich für horizontales oder vertikales Scrollen unterstützt, aber ein LargeIncrement-Wert übergeben wurde.
Es wird versucht, in eine nicht unterstützte Richtung zu scrollen.
Beispiele
Im folgenden Beispiel wird ein ScrollPattern Steuerelementmuster aus AutomationElement einem abgerufen und dann zum horizontalen Scrollen des Elements in einem angeforderten Betrag verwendet.
///--------------------------------------------------------------------
/// <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 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.
}
}
'''--------------------------------------------------------------------
''' <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 Sub ScrollElementHorizontally( _
ByVal targetControl As AutomationElement, _
ByVal hScrollAmount As ScrollAmount)
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
If Not scrollPattern.Current.HorizontallyScrollable Then
Return
End If
Try
scrollPattern.ScrollHorizontal(hScrollAmount)
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 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.
End Try
End Sub