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”方法,则它不会执行操作。

适用于

另请参阅