次の方法で共有


PropertyDescriptor.ResetValue(Object) メソッド

定義

派生クラスでオーバーライドされた場合、コンポーネントのプロパティの値を既定値にリセットします。

public:
 abstract void ResetValue(System::Object ^ component);
public abstract void ResetValue (object component);
abstract member ResetValue : obj -> unit
Public MustOverride Sub ResetValue (component As Object)

パラメーター

component
Object

既定値にリセットする対象のプロパティ値を持つコンポーネント。

注釈

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

このメソッドは、次の優先順位で プロパティを にリセットする値を決定します。

  1. このプロパティには影付きプロパティがあります。

  2. このプロパティには DefaultValueAttribute があります。

  3. 実装した "ResetMyProperty" メソッドがあります。ここで、"MyProperty" は渡すプロパティの名前です。

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

  1. メソッドは、 メソッドを IDesignerHost.CreateTransaction 呼び出して、変更を表す新しい DesignerTransaction を作成します。

  2. メソッドは メソッドを IComponentChangeService.OnComponentChanging 呼び出して、トランザクションが開始され、変更が発生しようとしていることを示します。

  3. メソッドは、このメソッドのチェック順序によって決定された値にプロパティをリセットします。

  4. メソッドは、 メソッドを IComponentChangeService.OnComponentChanged 呼び出して、変更が発生したことを示します。

  5. メソッドは を呼び出 DesignerTransaction.Commit して、トランザクションが完了したことを示します。

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

注意 (実装者)

派生クラスでオーバーライドされると、このメソッドは を DefaultValueAttribute検索します。 見つかった場合は、見つかった プロパティの値を DefaultValueAttribute 設定します。 このメソッドで が DefaultValueAttribute見つからない場合は、実装する必要がある "ResetMyProperty" メソッドを検索します。 これが見つかった場合、メソッドによって ResetValue(Object) 呼び出されます。 実装したまたは "ResetMyProperty" メソッドが見DefaultValueAttributeつからない場合ResetValue(Object)、操作は実行されません。

適用対象

こちらもご覧ください