PropertyDescriptor.ResetValue(Object) Método

Definição

Quando substituído em uma classe derivada, redefine o valor dessa propriedade do componente para o valor padrão.

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)

Parâmetros

component
Object

O componente com o valor da propriedade que deve ser redefinido para o valor padrão.

Comentários

Normalmente, esse método é implementado por meio de reflexão.

Esse método determina o valor para o qual redefinir a propriedade na seguinte ordem de precedência:

  1. Há uma propriedade sombreada para essa propriedade.

  2. Há um DefaultValueAttribute para essa propriedade.

  3. Há um método "ResetMyProperty" que você implementou, em que "MyProperty" é o nome da propriedade que você passa para ele.

Esse método cria um DesignerTransaction automaticamente na seguinte ordem:

  1. O método chama o IDesignerHost.CreateTransaction método para criar um novo DesignerTransaction para representar as alterações.

  2. O método chama o IComponentChangeService.OnComponentChanging método para indicar que a transação foi iniciada e as alterações estão prestes a ocorrer.

  3. O método redefine a propriedade para o valor determinado pela ordem de verificação desse método.

  4. O método chama o IComponentChangeService.OnComponentChanged método para indicar que as alterações ocorreram.

  5. O método chama DesignerTransaction.Commit para indicar que a transação foi concluída.

A finalidade da transação é dar suporte Undo e Redo funcionalidade.

Notas aos Implementadores

Quando substituído em uma classe derivada, esse método procura um DefaultValueAttribute. Se encontrar um, ele definirá o valor da propriedade como o DefaultValueAttribute encontrado. Se esse método não puder encontrar um DefaultValueAttribute, ele procurará um método "ResetMyProperty" que você precisa implementar. Se isso for encontrado, o método o ResetValue(Object) invocará. Se ResetValue(Object) não for possível encontrar um DefaultValueAttribute método "ResetMyProperty" ou que você implementou, ele não executará uma operação.

Aplica-se a

Confira também