IValueProvider.SetValue(String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur nilai kontrol.
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
Nilai yang akan ditetapkan. Penyedia bertanggung jawab untuk mengonversi nilai ke jenis data yang sesuai.
Pengecualian
Jika informasi khusus lokal diteruskan ke kontrol dalam format yang salah seperti tanggal yang salah diformat.
Jika nilai baru tidak dapat dikonversi dari string ke format yang dikenali kontrol.
Ketika upaya dilakukan untuk memanipulasi kontrol yang tidak diaktifkan.
Contoh
Contoh kode berikut menunjukkan kontrol kustom yang memungkinkan nilainya diatur ke string dengan panjang terbatas.
/// <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
Keterangan
Kontrol pengeditan baris tunggal mendukung akses terprogram ke kontennya dengan menerapkan IValueProvider. Namun, kontrol edit multibaris tidak menerapkan IValueProvider; sebaliknya kontrol tersebut menyediakan akses ke konten dengan menerapkan ITextProvider.
Kontrol seperti ListItem dan TreeItem harus diterapkan IValueProvider jika nilai salah satu item dapat diedit, terlepas dari mode edit kontrol saat ini. Kontrol induk juga harus diimplementasikan IValueProvider jika item anak dapat diedit.
Contoh Item Daftar yang Dapat Diedit