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 informazioni specifiche delle impostazioni locali vengono passate a un controllo in un formato non corretto, ad esempio una data non formattata correttamente.
Se un nuovo valore non può essere convertito da una stringa a un formato riconosciuto dal controllo.
Quando viene effettuato un tentativo di modificare un controllo non abilitato.
Esempio
Nel codice di esempio seguente viene illustrato 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 ai contenuti implementando IValueProvider. I controlli di modifica a più righe, tuttavia, non implementano IValueProvider, ma forniscono l'accesso ai contenuti implementando ITextProvider.
I 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