Mendayakan Sokongan Reka Bentuk dalam Kawalan Tersuai
Apabila membuat kawalan tersuai, adalah wajar untuk mengekalkan kefungsian yang sama seperti kawalan asasnya. Satu fungsi sedemikian ialah keupayaan untuk mengubah saiz lajur dengan menyeret pengepala pada masa reka bentuk. Walau bagaimanapun, secara lalai, kawalan tersuai tidak mewarisi gelagat ini.
pereka bentuk Windows Forms menggunakan kelas pereka khusus untuk kawalan khusus. Pereka bentuk untuk ListView, sebagai contoh, ialah kelas System.Windows.Forms.Design.ListViewDesigner dalaman. Apabila meletakkan ListView pada kawalan pengguna, ControlDesigner lalai digunakan sebaliknya, yang tidak menyediakan keupayaan untuk menyeret pengepala lajur.
Untuk membetulkannya, anda boleh mencipta pereka bentuk tersuai untuk kawalan pengguna. Dengan mendedahkan ListView yang mendasari melalui harta awam dan menggunakan atribut [DesignerSerializationVisibility], anda boleh mengakses dan mengubah suai sifat ListView pada masa reka bentuk. Selain itu, dengan menggunakan atribut [Designer] pada kelas kawalan pengguna, anda boleh menggantikan pereka bentuk lalai dengan tersuai anda.
Pertimbangkan contoh berikut:
using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; // Note: add reference required: System.Design.dll namespace WindowsFormsApplication1 { [Designer(typeof(MyDesigner))] // Note: custom designer public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); } // Note: property added [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public ListView Employees { get { return listView1; } } } // Note: custom designer class added class MyDesigner : ControlDesigner { public override void Initialize(IComponent comp) { base.Initialize(comp); var uc = (UserControl1)comp; EnableDesignMode(uc.Employees, "Employees"); } } }
Dengan pereka bentuk tersuai ini , ListView dalam kawalan pengguna boleh diklik dan direka bentuk seperti ListView kendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendayakan Saiz Semula Lajur Masa Reka Bentuk dalam Kawalan Borang Windows Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!