IValueProvider.SetValue(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Imposta il valore di un controllo.
public:
void SetValue(System::String ^ value);
public void SetValue(string value);
abstract member SetValue : string -> unit
Public Sub SetValue (value As String)
Parametri
- value
- String
Il valore da impostare. Il provider è responsabile della conversione del valore nel tipo di dati appropriato.
Eccezioni
Se le informazioni specifiche delle impostazioni locali vengono passate a un controllo in un formato non corretto, ad esempio una data formattata in modo non corretto.
Se non è possibile convertire un nuovo valore da una stringa a un formato riconosciuto dal controllo.
Quando si tenta di modificare un controllo non abilitato.
Esempio
Il codice di esempio seguente illustra un controllo personalizzato che consente di impostare il relativo valore su una stringa di lunghezza limitata.
/// <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
Commenti
I controlli di modifica a riga singola supportano l'accesso a livello di codice al contenuto implementando IValueProvider. Tuttavia, i controlli di modifica su più righe non implementano IValueProvider; forniscono invece l'accesso al contenuto implementando ITextProvider.
Controlli come ListItem e TreeItem devono implementare IValueProvider se il valore di uno degli elementi è modificabile, indipendentemente dalla modalità di modifica corrente del controllo. Il controllo padre deve implementare IValueProvider anche se gli elementi figlio sono modificabili.
Esempio di elemento elenco modificabile