IValueProvider.SetValue(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ustawia wartość kontrolki.
public:
void SetValue(System::String ^ value);
public void SetValue (string value);
abstract member SetValue : string -> unit
Public Sub SetValue (value As String)
Parametry
- value
- String
Wartość do ustawienia. Dostawca jest odpowiedzialny za konwertowanie wartości na odpowiedni typ danych.
Wyjątki
Jeśli informacje specyficzne dla ustawień regionalnych są przekazywane do kontrolki w nieprawidłowym formacie, takim jak niepoprawnie sformatowana data.
Jeśli nie można przekonwertować nowej wartości z ciągu na format rozpoznany przez kontrolkę.
Po podjęciu próby manipulowania kontrolką, która nie jest włączona.
Przykłady
Poniższy przykładowy kod przedstawia niestandardową kontrolkę, która umożliwia ustawienie jej wartości na ciąg o ograniczonej długości.
/// <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
Uwagi
Kontrolki edycji jednowierszowej obsługują programowy dostęp do ich zawartości, implementując polecenie IValueProvider. Jednak kontrolki edycji wielowierszowej nie implementują IValueProvider; zamiast tego zapewniają dostęp do zawartości przez zaimplementowanie elementu ITextProvider.
Kontrolki, takie jak ListItem i TreeItem muszą implementować IValueProvider , jeśli wartość dowolnego elementu jest edytowalna, niezależnie od bieżącego trybu edycji kontrolki. Kontrolka nadrzędna musi również zostać zaimplementowana IValueProvider , jeśli elementy podrzędne można edytować.
Przykład elementu listy edytowalnej