Aracılığıyla paylaş


RangeValuePattern.SetValue(Double) Yöntem

Tanım

UI Otomasyonu öğesiyle ilişkili değeri ayarlar.

public:
 void SetValue(double value);
public void SetValue (double value);
member this.SetValue : double -> unit
Public Sub SetValue (value As Double)

Parametreler

value
Double

öğesinin yeni değeri.

Özel durumlar

value öğesinin minimum değerinden küçük veya en büyük değerinden büyük.

Örnekler

Aşağıdaki örnekte, denetim desenini RangeValuePattern destekleyen bir AutomationElement değeri denetime özgü minimum değere ayarlanmıştır.

SetRangeValue(targetControl[0], rangeValuePattern.Current.Minimum);
SetRangeValue(targetControl(0), rangeValuePattern.Current.Minimum)
///--------------------------------------------------------------------
/// <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>
///--------------------------------------------------------------------
private void SetRangeValue(
    AutomationElement targetControl,
    double rangeValue)
{
    if (targetControl == null)
    {
        throw new ArgumentException("Argument cannot be null.");
    }

    RangeValuePattern rangeValuePattern =
        GetRangeValuePattern(targetControl);

    if (rangeValuePattern.Current.IsReadOnly)
    {
        throw new InvalidOperationException("Control is read-only.");
    }

    try
    {
        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>
'''--------------------------------------------------------------------
Private Overloads Sub SetRangeValue( _
ByVal targetControl As AutomationElement, ByVal rangeValue As Double)
    If targetControl Is Nothing Then
        Throw New ArgumentException("Argument cannot be null.")
    End If

    Dim rangeValuePattern As RangeValuePattern = _
    GetRangeValuePattern(targetControl)

    If rangeValuePattern.Current.IsReadOnly Then
        Throw New InvalidOperationException("Control is read-only.")
    End If

    Try
        rangeValuePattern.SetValue(rangeValue)
    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

Açıklamalar

Gerçek değer kümesi denetim uygulamasına bağlıdır. Denetim, istenen value öğeyi yukarı veya aşağı yuvarlayabilir. bir UI Otomasyonu istemcisi, gerçek güncelleştirilmiş değeri belirlemek için özelliğini inceleyebilirValue. İstemci ayrıca özelliğinde özellik değiştirme olayına kaydolabilir ve içinde AutomationPropertyChangedEventArgsdöndürülen eski ve yeni değerleri inceleyebilir.

Şunlara uygulanır

Ayrıca bkz.