RangeValuePattern.RangeValuePatternInformation.LargeChange Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение большого изменения для конкретного Value элемента управления, которое добавляется или вычитается из свойства.
public:
property double LargeChange { double get(); };
public double LargeChange { get; }
member this.LargeChange : double
Public ReadOnly Property LargeChange As Double
Значение свойства
Значение большого изменения или null если элемент не поддерживается LargeChange. Значение по умолчанию — 0.0.
Примеры
В следующем примере, который поддерживает RangeValuePattern шаблон элемента управления, AutomationElement имеет его значение приращения или уменьшения по значению, определенному LargeChange элементом управления.
SetRangeValue(targetControl[0], rangeValuePattern.Current.LargeChange, -1);
SetRangeValue(targetControl(0), rangeValuePattern.Current.LargeChange, - 1)
///--------------------------------------------------------------------
/// <summary>
/// Sets the range value of the control of interest.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <param name="rangeValue">
/// The value (either relative or absolute) to set the control to.
/// </param>
/// <param name="rangeDirection">
/// The value used to specify the direction of adjustment.
/// </param>
///--------------------------------------------------------------------
private void SetRangeValue(
AutomationElement targetControl,
double rangeValue,
double rangeDirection)
{
if (targetControl == null || rangeValue == 0 || rangeDirection == 0)
{
throw new ArgumentException("Argument cannot be null or zero.");
}
RangeValuePattern rangeValuePattern =
GetRangeValuePattern(targetControl);
if (rangeValuePattern.Current.IsReadOnly)
{
throw new InvalidOperationException("Control is read-only.");
}
rangeValue = rangeValue * Math.Sign(rangeDirection);
try
{
if ((rangeValue <= rangeValuePattern.Current.Maximum) ||
(rangeValue >= rangeValuePattern.Current.Minimum))
{
rangeValuePattern.SetValue(rangeValue);
}
}
catch (ArgumentOutOfRangeException)
{
// TO DO: Error handling.
}
catch (ArgumentException)
{
// TO DO: Error handling.
}
}
'''--------------------------------------------------------------------
''' <summary>
''' Sets the range value of the control of interest.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <param name="rangeValue">
''' The value (either relative or absolute) to set the control to.
''' </param>
''' <param name="rangeDirection">
''' The value used to specify the direction of adjustment.
''' </param>
'''--------------------------------------------------------------------
Private Overloads Sub SetRangeValue( _
ByVal targetControl As AutomationElement, _
ByVal rangeValue As Double, ByVal rangeDirection As Double)
If targetControl Is Nothing OrElse _
rangeValue = 0 OrElse rangeDirection = 0 Then
Throw New ArgumentException("Argument cannot be null or zero.")
End If
Dim rangeValuePattern As RangeValuePattern = _
GetRangeValuePattern(targetControl)
If rangeValuePattern.Current.IsReadOnly Then
Throw New InvalidOperationException("Control is read-only.")
End If
rangeValue = rangeValue * Math.Sign(rangeDirection)
Try
If rangeValue <= rangeValuePattern.Current.Maximum OrElse _
rangeValue >= rangeValuePattern.Current.Minimum Then
rangeValuePattern.SetValue(rangeValue)
End If
Catch exc As ArgumentOutOfRangeException
' TO DO: Error handling.
Catch exc As ArgumentException
' TO DO: Error handling.
End Try
End Sub
///--------------------------------------------------------------------
/// <summary>
/// Obtains a RangeValuePattern control pattern from an
/// automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A RangeValuePattern object.
/// </returns>
///--------------------------------------------------------------------
private RangeValuePattern GetRangeValuePattern(
AutomationElement targetControl)
{
RangeValuePattern rangeValuePattern = null;
try
{
rangeValuePattern =
targetControl.GetCurrentPattern(
RangeValuePattern.Pattern)
as RangeValuePattern;
}
// Object doesn't support the
// RangeValuePattern control pattern
catch (InvalidOperationException)
{
return null;
}
return rangeValuePattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a RangeValuePattern control pattern from an
''' automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A RangeValuePattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetRangeValuePattern( _
ByVal targetControl As AutomationElement) As RangeValuePattern
Dim rangeValuePattern As RangeValuePattern = Nothing
Try
rangeValuePattern = DirectCast( _
targetControl.GetCurrentPattern(rangeValuePattern.Pattern), _
RangeValuePattern)
Catch exc As InvalidOperationException
' Object doesn't support the
' RangeValuePattern control pattern
Return Nothing
End Try
Return rangeValuePattern
End Function 'GetRangeValuePattern