Bagikan melalui


Pengaturan Aplikasi untuk Kontrol Kustom

Anda harus menyelesaikan tugas tertentu untuk memberi kontrol kustom Anda kemampuan untuk mempertahankan pengaturan aplikasi saat kontrol dihosting di aplikasi pihak ketiga.

Sebagian besar dokumentasi tentang fitur Pengaturan Aplikasi ditulis dengan asumsi bahwa Anda membuat aplikasi mandiri. Namun, jika Anda membuat kontrol yang akan dihosting pengembang lain dalam aplikasi mereka, Anda perlu mengambil beberapa langkah tambahan agar kontrol Anda mempertahankan pengaturannya dengan benar.

Pengaturan Aplikasi dan Kontrol Kustom

Agar kontrol Anda mempertahankan pengaturannya dengan benar, kontrol harus merangkum proses dengan membuat kelas pembungkus pengaturan aplikasi khususnya sendiri, berasal dari ApplicationSettingsBase. Selain itu, kelas kontrol utama harus menerapkan IPersistComponentSettings. Antarmuka berisi beberapa properti serta dua metode, LoadComponentSettings dan SaveComponentSettings. Jika Anda menambahkan kontrol ke formulir menggunakan Formulir Windows Designer di Visual Studio, Formulir Windows akan memanggil LoadComponentSettings secara otomatis saat kontrol diinisialisasi; Anda harus memanggil SaveComponentSettings diri Anda dalam Dispose metode kontrol Anda.

Selain itu, Anda harus menerapkan hal berikut agar pengaturan aplikasi agar kontrol kustom berfungsi dengan baik di lingkungan waktu desain seperti Visual Studio:

  1. Kelas pengaturan aplikasi kustom dengan konstruktor yang mengambil IComponent sebagai parameter tunggal. Gunakan kelas ini untuk menyimpan dan memuat semua pengaturan aplikasi Anda. Saat Anda membuat instans baru kelas ini, berikan kontrol kustom Anda menggunakan konstruktor.

  2. Buat kelas pengaturan kustom ini setelah kontrol dibuat dan ditempatkan pada formulir, seperti di penanganan aktivitas formulir Load .

Untuk petunjuk tentang membuat kelas pengaturan kustom, lihat Cara: Membuat aplikasi Pengaturan.

Kunci Pengaturan dan Pengaturan Bersama

Beberapa kontrol dapat digunakan beberapa kali dalam bentuk yang sama. Sebagian besar waktu, Anda akan ingin kontrol ini mempertahankan pengaturan individual mereka sendiri. SettingsKey Dengan properti pada IPersistComponentSettings, Anda dapat menyediakan string unik yang bertindak untuk membedakan beberapa versi kontrol pada formulir.

Cara paling sederhana untuk menerapkan SettingsKey adalah dengan menggunakan Name properti kontrol untuk SettingsKey. Saat Anda memuat atau menyimpan pengaturan kontrol, Anda meneruskan nilai SettingsKey ke SettingsKey properti ApplicationSettingsBase kelas . Aplikasi Pengaturan menggunakan kunci unik ini saat mempertahankan pengaturan pengguna ke XML. Contoh kode berikut menunjukkan bagaimana <userSettings> bagian mungkin mencari instans kontrol kustom bernama CustomControl1 yang menyimpan pengaturan untuk propertinya Text .

<userSettings>
    <CustomControl1>
        <setting name="Text" serializedAs="string">
            <value>Hello, World</value>
        </setting>
    </CustomControl1>
</userSettings>

Setiap instans kontrol yang tidak menyediakan nilai untuk SettingsKey akan berbagi pengaturan yang sama.

Baca juga