我有一个自定义控件,该控件有一个属性集合。
我想拖动我的控件,自动将对象添加到我的控件的集合属性中。
就像TabControl.TabPages
自动代码一样。拖到TabControl
表单时,自动创建 2TabPage
添加TabControl.TabPages
。
我该怎么做?
您应该使用自定义设计器,例如 TabControl:
[Designer("System.Windows.Forms.Design.TabControlDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
...
public class TabControl : Control
{
....
}
TabControlDesigner 提供这两个默认选项卡:
internal class TabControlDesigner : ParentControlDesigner
{
public override void InitializeNewComponent(IDictionary defaultValues)
{
base.InitializeNewComponent(defaultValues);
try
{
this.addingOnInitialize = true;
this.OnAdd((object) this, EventArgs.Empty);
this.OnAdd((object) this, EventArgs.Empty);
...