PropertyDescriptor.SetValue(Object, Object) 方法

定义

当在派生类中被重写时,将组件的值设置为一个不同的值。

public:
 abstract void SetValue(System::Object ^ component, System::Object ^ value);
public abstract void SetValue (object component, object value);
public abstract void SetValue (object? component, object? value);
abstract member SetValue : obj * obj -> unit
Public MustOverride Sub SetValue (component As Object, value As Object)

参数

component
Object

具有要进行设置的属性值的组件。

value
Object

新值。

注解

通常,此方法是通过反射实现的。

此方法按以下顺序自动创建 DesignerTransaction

  1. 方法调用 IDesignerHost.CreateTransaction 方法以创建一个新的 DesignerTransaction 来表示更改。

  2. 方法调用 IComponentChangeService.OnComponentChanging 方法以指示事务已开始且即将发生更改。

  3. 方法将 属性重置为此方法的检查顺序确定的值。

  4. 方法调用 IComponentChangeService.OnComponentChanged 方法以指示已发生更改。

  5. 方法调用 DesignerTransaction.Commit 以指示事务已完成。

事务的目的是支持 UndoRedo 功能。

实施者说明

重写此方法时,它应通过调用需要实现的相应“SetMyProperty”方法来设置属性的值。 如果指定的值无效,组件应引发异常,该异常会向上传递。 应设计 该属性,以便“GetMyProperty”方法 (在“SetMyProperty”方法不引发异常时,) 实现的“GetMyProperty”方法返回传入的值。

适用于

另请参阅