PropertyDescriptor.SetValue(Object, Object) Methode

Definition

Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird der Wert der Komponente auf einen anderen Wert festgelegt.

public:
 abstract void SetValue(System::Object ^ component, System::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)

Parameter

component
Object

Die Komponente mit dem Eigenschaftswert, der festgelegt werden soll.

value
Object

Der neue Wert.

Hinweise

In der Regel wird diese Methode durch Spiegelung implementiert.

Diese Methode erstellt automatisch DesignerTransaction in der folgenden Reihenfolge:

  1. Die Methode ruft die IDesignerHost.CreateTransaction Methode auf, um eine neue DesignerTransaction zum Darstellen der Änderungen zu erstellen.

  2. Die Methode ruft die IComponentChangeService.OnComponentChanging Methode auf, um anzugeben, dass die Transaktion begonnen hat, und die Änderungen sind dabei.

  3. Die Methode setzt die Eigenschaft auf den Wert zurück, der durch die Prüfreihenfolge dieser Methode bestimmt wird.

  4. Die Methode ruft die IComponentChangeService.OnComponentChanged Methode auf, um anzugeben, dass die Änderungen aufgetreten sind.

  5. Die Methodenaufrufe DesignerTransaction.Commit , um anzugeben, dass die Transaktion abgeschlossen ist.

Der Zweck der Transaktion ist die Unterstützung Undo und Redo Funktionalität.

Hinweise für Ausführende

Wenn Sie diese Methode außer Kraft setzen, sollte der Wert der Eigenschaft festgelegt werden, indem Sie die entsprechende "SetMyProperty"-Methode aufrufen, die Sie implementieren müssen. Wenn der angegebene Wert ungültig ist, sollte die Komponente eine Ausnahme auslösen, die übergeben wird. Sie sollten die Eigenschaft so entwerfen, dass eine "GetMyProperty"-Methode (die Sie implementiert haben) nach einer "SetMyProperty"-Methode den Wert zurückgibt, der übergeben wird, wenn die "SetMyProperty"-Methode keine Ausnahme auslöst.

Gilt für:

Weitere Informationen