Bagikan melalui


PropertyDescriptor.ResetValue(Object) Metode

Definisi

Saat ditimpa di kelas turunan, mengatur ulang nilai untuk properti komponen ini ke nilai default.

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)

Parameter

component
Object

Komponen dengan nilai properti yang akan direset ke nilai default.

Keterangan

Biasanya, metode ini diimplementasikan melalui refleksi.

Metode ini menentukan nilai untuk mengatur ulang properti ke dalam urutan prioritas berikut:

  1. Ada properti bayangan untuk properti ini.

  2. Ada DefaultValueAttribute untuk properti ini.

  3. Ada metode "ResetMyProperty" yang telah Anda terapkan, di mana "MyProperty" adalah nama properti yang Anda berikan padanya.

Metode ini membuat DesignerTransaction secara otomatis dalam urutan berikut:

  1. Metode ini memanggil IDesignerHost.CreateTransaction metode untuk membuat baru DesignerTransaction untuk mewakili perubahan.

  2. Metode memanggil IComponentChangeService.OnComponentChanging metode untuk menunjukkan bahwa transaksi telah dimulai dan perubahan akan terjadi.

  3. Metode mereset properti ke nilai yang ditentukan oleh urutan pemeriksaan metode ini.

  4. Metode memanggil IComponentChangeService.OnComponentChanged metode untuk menunjukkan bahwa perubahan telah terjadi.

  5. Metode memanggil DesignerTransaction.Commit untuk menunjukkan bahwa transaksi selesai.

Tujuan transaksi adalah untuk mendukung Undo dan Redo fungsionalitas.

Catatan Bagi Implementer

Ketika ditimpa di kelas turunan, metode ini mencari DefaultValueAttribute. Jika menemukannya, nilai properti akan ditetapkan ke properti yang DefaultValueAttribute ditemukan. Jika metode ini tidak dapat menemukan DefaultValueAttribute, metode "ResetMyProperty" yang perlu Anda terapkan. Jika ini ditemukan, metode memanggilnya ResetValue(Object) . Jika ResetValue(Object) tidak dapat menemukan DefaultValueAttribute atau metode "ResetMyProperty" yang Anda terapkan, metode tersebut tidak melakukan operasi.

Berlaku untuk

Lihat juga