在自訂控制項中啟用設計支援
在Windows 窗體開發領域,自訂控制項通常缺乏與預設控制項相同的設計功能當嵌入其中時。當無法在設計模式下存取自訂清單檢視中的列大小調整等功能時,這可能會特別令人沮喪。但是,透過建立自訂設計器,可以克服此限制。
UserControls 的預設設計器 ControlDesigner 缺乏與所包含控制項互動的必要功能。為了修正這個問題,我們可以建立一個繼承自 ControlDesigner 的自訂設計器,並專門為自訂控制項中的所需控制項啟用設計支援。
要實現此目的,請按照下列步驟操作:
下面的程式碼說明了這種方法:
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"); } } }
透過建立自訂設計器,我們可以擴展自訂控制項的設計功能,啟用諸如調整列大小之類別的功能嵌入到UserControls 中時的ListView 控制項。
以上是如何為自訂 Windows 窗體控制項中嵌入的控制項啟用設計時支援?的詳細內容。更多資訊請關注PHP中文網其他相關文章!