Jenis Kontrol Legacy ActiveX (Forms 2.0)
Tipe Kontrol ActiveX (Forms 2.0) Warisan
Bekerja dengan OLE Objects dan Konten yang Disematkan menjelaskan cara mengakses kontrol ActiveX Microsoft Forms 2.0 yang disematkan melalui OleFormat.OleControl dan meng-cast-nya ke kelas abstrak Forms2OleControl kelas dasar. Aspose.Words FOSS untuk .NET juga menyediakan lima subclass yang kuat-typed untuk jenis kontrol spesifik yang didukung Word – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, dan MorphDataControl – masing-masing dalam the Aspose.Words.Drawing.Ole namespace, menambahkan satu anggota khusus kontrol di atas properti Forms2OleControl sudah menyediakan (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl dan OptionButtonControl
CheckBoxControl memperluas MorphDataControl dan menambahkan Checked (sebuah bool) untuk keadaan nyala/mati kontrol. OptionButtonControl juga memperluas MorphDataControl dan menambahkan Selected (sebuah bool) – digunakan untuk sekumpulan tombol opsi yang saling eksklusif dan berbagi GroupName yang sama.
TextBoxControl
TextBoxControl memperluas MorphDataControl dan menambahkan Text (sebuah string), teks yang ditampilkan dan dapat diedit pada kontrol.
CommandButtonControl
CommandButtonControl memperluas Forms2OleControl secara langsung (bukan MorphDataControl) dan memiliki konstruktor sendiri. Ini mewakili tombol yang menjalankan makro saat diklik di Word, dengan label tombolnya diekspos melalui properti Caption yang diwariskan.
MorphDataControl: Basis Bersama untuk Kontrol Entri Data
MorphDataControl adalah basis agregat untuk enam jenis kontrol terkait — checkbox, combo box, list box, option button, text box, dan toggle button. CheckBoxControl, OptionButtonControl, dan TextBoxControl masing-masing memperluasnya, mewarisi anggotanya dan menambahkan satu properti spesifik tipe masing-masing.
Tips dan Praktik Terbaik
- Baca
Forms2OleControl.Type(nilaiForms2OleControlType) untuk mengidentifikasi kontrol sebelum mengubahnya menjadi salah satu subclass spesifik — tidak setiapForms2OleControladalah salah satu dari lima subclass bertipe kuat yang dibahas di sini. - Gunakan
GroupNameuntuk mengaitkan beberapa instanceOptionButtonControlmenjadi satu set yang saling eksklusif, sesuai dengan cara Word mengelompokkan tombol opsi. - Akses kontrol bersarang di dalam bingkai atau kontainer multi-halaman melalui
ChildNodesyang diwariskan (sebuahForms2OleControlCollection), terlepas dari subclass apa kontainer tersebut.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
Mencasting Forms2OleControl ke CheckBoxControl melempar InvalidCastException | Kontrol tersebut adalah jenis kontrol Forms 2.0 yang berbeda (misalnya TextBoxControl atau OptionButtonControl) | Periksa Forms2OleControl.Type sebelum mencasting ke subclass tertentu |
OptionButtonControl.Selected tidak berperilaku secara saling eksklusif dengan kontrol saudara | Kontrol tidak berbagi GroupName yang sama | Tetapkan nilai GroupName yang sama pada setiap OptionButtonControl dalam set |
CommandButtonControl.Caption kosong | Keterangan tombol berasal dari Forms2OleControl.Caption yang diwarisi, bukan properti khusus CommandButtonControl | Baca Caption, bukan anggota CommandButtonControl-only yang tidak ada |
FAQ
Bagaimana saya tahu kelas kontrol bertipe kuat mana yang sebenarnya dimiliki oleh Forms2OleControl?
Baca properti Type (Forms2OleControlType) atau coba lakukan cast ke subclass spesifik yang Anda harapkan, seperti CheckBoxControl atau TextBoxControl.
Apa perbedaan antara MorphDataControl dan Forms2OleControl?
Forms2OleControl adalah basis abstrak untuk setiap kontrol Forms 2.0. MorphDataControl adalah basis abstrak yang lebih spesifik, yang memperluas Forms2OleControl, dan dibagikan oleh jenis kontrol checkbox, combo box, list box, option button, text box, dan toggle button.
Bagaimana cara membaca keadaan tercentang pada kontrol checkbox?
Cast Forms2OleControl ke CheckBoxControl dan baca properti Checkednya.
Apakah CommandButtonControl memperluas MorphDataControl seperti yang lain?
Tidak – CommandButtonControl memperluas Forms2OleControl secara langsung, karena tombol perintah bukan kontrol entri data.
API Reference Ringkasan
| Kelas | Deskripsi |
|---|---|
MorphDataControl | Basis abstrak untuk kontrol kotak centang, kotak kombo, kotak daftar, tombol opsi, kotak teks, dan tombol beralih |
CheckBoxControl | Kontrol kotak centang; memperluas MorphDataControl; menambahkan Checked |
OptionButtonControl | Kontrol tombol opsi; memperluas MorphDataControl; menambahkan Selected |
TextBoxControl | Kontrol kotak teks; memperluas MorphDataControl; menambahkan Text |
CommandButtonControl | Kontrol tombol perintah; memperluas Forms2OleControl secara langsung |