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 ,以指出交易已完成。

交易的目的是要支援 UndoRedo 功能。

給實施者的注意事項

在衍生類別中覆寫時,這個方法會尋找 DefaultValueAttribute。 如果找到其中一個,它會將 屬性的值設定為 DefaultValueAttribute 找到的值。 如果這個方法找不到 DefaultValueAttribute,它會尋找您需要實作的 “ResetMyProperty” 方法。 如果找到這個值,方法會 ResetValue(Object) 叫用它。 如果 ResetValue(Object) 找不到 DefaultValueAttribute 您所實作的 或 “ResetMyProperty” 方法,則不會執行作業。

適用於

另請參閱