IValueProvider.SetValue(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コントロールの値を設定します。
public:
void SetValue(System::String ^ value);
public void SetValue (string value);
abstract member SetValue : string -> unit
Public Sub SetValue (value As String)
パラメーター
- value
- String
設定する値。 プロバイダーは、値を適切なデータ型に変換します。
例外
ロケールに固有の情報が、誤った形式でコントロールに渡された場合 (誤った日付形式など)。
新しい値を、文字列からコントロールが認識する形式に変換できない場合。
有効になっていないコントロールの操作が試行された場合。
例
次のコード例は、その値を制限された長さの文字列に設定できるカスタム コントロールを示しています。
/// <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
注釈
単一行のエディット コントロールは、そのコンテンツへのプログラムによるアクセスをサポートするために、 IValueProviderを実装します。 一方、複数行のエディット コントロールは IValueProviderを実装しません。代わりに ITextProviderを実装して、そのコンテンツへのアクセスを提供します。
コントロールの現在の編集モードに関係なく、いずれかの項目の値が編集可能な場合は、 や などのListItemTreeItemコントロールを実装IValueProviderする必要があります。 子項目が編集可能な場合は、親コントロールも実装 IValueProvider する必要があります。
編集可能なリスト項目の例
適用対象
.NET