IValueProvider.SetValue(String) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.
Exempel på ett redigerbart listobjekt