0

我有一个自定义控件,该控件有一个属性集合。

我想拖动我的控件,自动将对象添加到我的控件的集合属性中。

就像TabControl.TabPages自动代码一样。拖到TabControl表单时,自动创建 2TabPage添加TabControl.TabPages

我该怎么做?

4

1 回答 1

0

您应该使用自定义设计器,例如 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);
            ...
于 2013-04-01T08:00:18.863 回答