PropertyDescriptor.SetValue(Object, Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
När den åsidosättas i en härledd klass anger du värdet för komponenten till ett annat värde.
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)
Parametrar
- component
- Object
Komponenten med det egenskapsvärde som ska anges.
- value
- Object
Det nya värdet.
Kommentarer
Den här metoden implementeras vanligtvis genom reflektion.
Den här metoden skapar en DesignerTransaction automatiskt i följande ordning:
Metoden anropar IDesignerHost.CreateTransaction metoden för att skapa en ny DesignerTransaction för att representera ändringarna.
Metoden anropar IComponentChangeService.OnComponentChanging metoden för att indikera att transaktionen har påbörjats och att ändringarna håller på att ske.
Metoden återställer egenskapen till det värde som bestäms av den här metodens kontrollordning.
Metoden anropar IComponentChangeService.OnComponentChanged metoden för att indikera att ändringarna har inträffat.
Metoden anropar DesignerTransaction.Commit för att indikera att transaktionen är klar.
Syftet med transaktionen är att stödja Undo och Redo funktioner.
Anteckningar till implementerare
När du åsidosätter den här metoden bör den ange värdet för egenskapen genom att anropa lämplig "SetMyProperty"-metod som du behöver implementera. Om det angivna värdet inte är giltigt bör komponenten utlösa ett undantag som skickas. Du bör utforma egenskapen så att metoden "GetMyProperty" (som du har implementerat) efter metoden "SetMyProperty" returnerar det värde som skickades när metoden "SetMyProperty" inte utlöser ett undantag.