Dalam aplikasi Windows Forms, kawalan tertentu mempunyai pereka bentuk khusus yang meningkatkan keupayaan penyesuaian mereka dalam mod reka bentuk. Walau bagaimanapun, apabila membenamkan kawalan sedemikian dalam UserControl tersuai, ciri reka bentuk yang dipertingkat ini mungkin tidak tersedia.
Salah satu contoh ialah kawalan ListView. Dalam bentuk standard, pengguna boleh menyeret dan melepaskan pengepala lajur untuk mengubah saiznya dalam mod reka bentuk. Walau bagaimanapun, apabila dibenamkan dalam UserControl, ciri ini tiada.
Untuk mengatasi had ini, anda boleh memanfaatkan seni bina pereka bentuk Windows Forms. Dengan mencipta kelas pereka bentuk tersuai, anda boleh mengubah hala sokongan reka bentuk daripada ControlDesigner standard kepada pereka khusus kawalan asas.
Begini cara melaksanakannya untuk UserControl tersuai yang mengandungi ListView:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public ListView Employees { get { return listView1; } }
[Designer(typeof(MyDesigner))] public partial class UserControl1 : UserControl { // ... }
public class MyDesigner : ControlDesigner { public override void Initialize(IComponent comp) { base.Initialize(comp); // Enable design mode for the "Employees" ListView var uc = (UserControl1)comp; EnableDesignMode(uc.Employees, "Employees"); } }
Selepas pengubahsuaian ini, ListView yang dibenamkan dalam UserControl akan mendapatkan semula fungsi ubah saiz lajur drag-and-dropnya dalam reka bentuk mod.
Teknik ini membolehkan anda memanfaatkan kuasa pereka bentuk tersuai, membolehkan anda memanjangkan keupayaan masa reka bentuk kawalan anda dan memberikan pengalaman pengguna yang optimum untuk pembangun yang menggunakan UserControls anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanjangkan Sokongan Masa Reka Bentuk untuk Kawalan Terbenam dalam Kawalan Pengguna Borang Windows Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!