Freigeben über


IValueProvider.SetValue(String) Methode

Definition

Legt den Wert eines Steuerelements fest.

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

Parameter

value
String

Der festzulegende Wert. Der Anbieter ist für das Konvertieren des Werts in den entsprechenden Datentyp verantwortlich.

Ausnahmen

Wenn gebietsschemaspezifische Informationen in einem falschen Format, etwa als falsch formatiertes Datum, an ein Steuerelement übergeben werden.

Wenn ein neuer Wert nicht aus einer Zeichenfolge in ein Format konvertiert werden kann, das vom Steuerelement erkannt wird.

Wenn versucht wird, ein nicht aktiviertes Steuerelement zu bearbeiten.

Beispiele

Der folgende Beispielcode veranschaulicht ein benutzerdefiniertes Steuerelement, das es ermöglicht, seinen Wert auf eine Zeichenfolge mit begrenzter Länge festzulegen.

/// <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

Hinweise

Einzeilige Bearbeitungssteuerelemente unterstützen programmgesteuerten Zugriff auf ihren Inhalt, indem IValueProviderfür sie implementiert wird. Für mehrzeilige Bearbeitungssteuerelemente wird IValueProviderjedoch nicht implementiert. Stattdessen wird Zugriff auf ihre Inhalte geboten, indem ITextProviderfür sie implementiert wird.

Steuerelemente wie ListItem und TreeItem müssen implementieren IValueProvider , ob der Wert eines der Elemente bearbeitbar ist, unabhängig vom aktuellen Bearbeitungsmodus des Steuerelements. Das übergeordnete Steuerelement muss auch implementieren IValueProvider , wenn die untergeordneten Elemente bearbeitbar sind.

Bearbeitbares Listenelement.
Beispiel eines bearbeitbaren Listenelements

Gilt für: