IValueProvider.SetValue(String) Metod

Definition

Anger värdet för en kontroll.

public:
 void SetValue(System::String ^ value);
public void SetValue(string value);
abstract member SetValue : string -> unit
Public Sub SetValue (value As String)

Parametrar

value
String

Värdet som ska anges. Leverantören ansvarar för att konvertera värdet till lämplig datatyp.

Undantag

Om språkspecifik information skickas till en kontroll i ett felaktigt format, till exempel ett felaktigt formaterat datum.

Om ett nytt värde inte kan konverteras från en sträng till ett format som kontrollen känner igen.

När ett försök görs att ändra en kontroll som inte är aktiverad.

Exempel

Följande exempelkod visar en anpassad kontroll som gör att dess värde kan anges till en sträng med begränsad längd.

/// <summary>
/// Sets the value of the control.
/// </summary>
/// <param name="value">
/// The new value.
/// </param>
void IValueProvider.SetValue(string value)
{
    if (((IValueProvider)this).IsReadOnly)
        throw new InvalidOperationException(
            "Operation cannot be performed.");
    // Arbitrary string length limit.
    if (value.Length > 5)
        throw new ArgumentOutOfRangeException(
            "String is greater than five characters in length.");
    controlValue = value;
}
''' <summary>
''' Sets the value of the control.
''' </summary>
''' <param name="value">
''' The new value.
''' </param>
Private Sub SetValue(ByVal value As String) Implements IValueProvider.SetValue
    If (CType(Me, IValueProvider)).IsReadOnly Then
        Throw New InvalidOperationException("Operation cannot be performed.")
    End If
    ' Arbitrary string length limit.
    If value.Length > 5 Then
        Throw New ArgumentOutOfRangeException("String is greater than five characters in length.")
    End If
    controlValue = value
End Sub

Kommentarer

Redigeringskontroller med en rad stödjer programmerbar åtkomst till deras innehåll genom att implementera IValueProvider. Redigeringskontroller med flera rader implementerar IValueProviderdock inte . I stället ger de åtkomst till sitt innehåll genom att implementera ITextProvider.

Kontroller som ListItem och TreeItem måste implementeras IValueProvider om värdet för något av objekten kan redigeras, oavsett kontrollens aktuella redigeringsläge. Den överordnade kontrollen måste också implementeras IValueProvider om de underordnade objekten kan redigeras.

Redigerbart listobjekt. Exempel på ett redigerbart listobjekt

Gäller för