IValueProvider.SetValue(String) Méthode

Définition

Définit la valeur d’un contrôle.

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

Paramètres

value
String

Valeur à définir. Le fournisseur est chargé de convertir la valeur en type de données approprié.

Exceptions

Si des informations spécifiques de paramètres régionaux sont passées à un contrôle dans un format incorrect, par exemple, une date au format incorrect.

Si une nouvelle valeur ne peut pas être convertie d’une chaîne en un format reconnu par le contrôle.

Quand une tentative est effectuée pour manipuler un contrôle qui n’est pas activé.

Exemples

L’exemple de code suivant illustre un contrôle personnalisé qui permet de définir sa valeur sur une chaîne de longueur limitée.

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

Remarques

Les contrôles d’édition sur une ligne prennent en charge l’accès par programmation à leur contenu en implémentant IValueProvider. Toutefois, les contrôles d’édition multilignes n’implémentent pas IValueProvider. Ils fournissent plutôt un accès à leur contenu en implémentant ITextProvider.

Les contrôles tels que ListItem et TreeItem doivent implémenter IValueProvider si la valeur de l’un des éléments est modifiable, quel que soit le mode d’édition actuel du contrôle. Le contrôle parent doit également implémenter IValueProvider si les éléments enfants sont modifiables.

Élément de liste modifiable.
Exemple d’élément de liste modifiable

S’applique à