IValueProvider.SetValue(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
Exemple d’élément de liste modifiable