次の方法で共有


PropertyDescriptor.SetValue メソッド

派生クラスでオーバーライドされた場合、コンポーネントの値を別の値に設定します。

Public MustOverride Sub SetValue( _
   ByVal component As Object, _   ByVal value As Object _)
[C#]
public abstract void SetValue(objectcomponent,objectvalue);
[C++]
public: virtual void SetValue(Object* component,Object* value) = 0;
[JScript]
public abstract function SetValue(
   component : Object,value : Object);

パラメータ

  • component
    設定する対象のプロパティ値を持つコンポーネント。
  • value
    新しい値。

解説

通常、このメソッドはリフレクションによって実装されます。

このメソッドは、次の順序に従って、自動的に DesignerTransaction を作成します。

  1. IDesignerHost.CreateTransaction を呼び出し、変更部分を表す新しい DesignerTransaction オブジェクトを作成します。
  2. トランザクションが開始され、これから変更が行われることを示す IComponentChangeService.OnComponentChanging を呼び出します。
  3. メソッド独自のチェック順序に従って決定された値にプロパティをリセットします。
  4. 変更が行われたことを示す IComponentChangeService.OnComponentChanged を呼び出します。
  5. トランザクションが完了したことを示す DesignerTransaction.Commit を呼び出します。

トランザクションの目的は、Undo 機能と Redo 機能をサポートすることです。

継承時の注意: オーバーライドされた場合、このメソッドは、実装する必要がある "SetMyProperty" メソッドを呼び出すことによってプロパティの値を設定します。指定した値が無効な場合、コンポーネントは例外をスローし、その例外は派生元にも渡されます。"SetMyProperty" メソッドに続く (実装した) "GetMyProperty" メソッドが、"SetMyProperty" メソッドによって例外がスローされなかった場合に渡された値を返すように、プロパティをデザインする必要があります。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

PropertyDescriptor クラス | PropertyDescriptor メンバ | System.ComponentModel 名前空間 | PropertyDescriptor