Como fornecer suporte de designer a um TabControl que reside em um UserControl, para que eu possa arrastar / soltar controles nas páginas da guia?

Eu tenho um controle de usuário, que contém um Painel e um TabControl. Ativei o suporte em tempo de design para ambos. Eu posso arrastar / soltar controles da caixa de ferramentas para o controle Panel que reside dentro do controle do usuário. Também posso adicionar e remover páginas de guias por meio do designer no TabControl. No entanto, não consigo arrastar / soltar nenhum controle nas próprias páginas da gui

Abaixo é o código fonte gerado para o meu controle de usuário:

partial class TestUserControl
{
    private System.ComponentModel.IContainer components = null;

    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Component Designer generated code

    private void InitializeComponent()
    {
        this.tabControl = new System.Windows.Forms.TabControl();
        this.contentPanel = new System.Windows.Forms.Panel();
        this.SuspendLayout();
        // 
        // tabControl
        // 
        this.tabControl.Dock = System.Windows.Forms.DockStyle.Fill;
        this.tabControl.Location = new System.Drawing.Point(0, 0);
        this.tabControl.Name = "tabControl";
        this.tabControl.SelectedIndex = 0;
        this.tabControl.Size = new System.Drawing.Size(306, 118);
        this.tabControl.TabIndex = 0;
        // 
        // contentPanel
        // 
        this.contentPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
        this.contentPanel.Location = new System.Drawing.Point(0, 118);
        this.contentPanel.Name = "contentPanel";
        this.contentPanel.Size = new System.Drawing.Size(306, 73);
        this.contentPanel.TabIndex = 0;
        // 
        // TestUserControl
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.Controls.Add(this.tabControl);
        this.Controls.Add(this.contentPanel);
        this.Name = "TestUserControl";
        this.Size = new System.Drawing.Size(306, 191);
        this.ResumeLayout(false);

    }

    #endregion

    private System.Windows.Forms.TabControl tabControl;
    private System.Windows.Forms.Panel contentPanel;
}

Abaixo é o código fonte que adicionei para ativar o suporte em tempo de design:

[Designer(typeof(TestUserControlDesigner))]
public partial class TestUserControl : UserControl
{
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public TabControl TabControl 
    {
        get { return this.tabControl; }
    }

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public Panel ContentPanel
    {
        get { return this.contentPanel; }
    }

    public TestUserControl()
    {
        InitializeComponent();
    }
}

internal class TestUserControlDesigner : ParentControlDesigner
{
    public override void Initialize(System.ComponentModel.IComponent component)
    {
        base.Initialize(component);

        EnableDesignMode(
            (this.Control as TestUserControl).TabControl, "TabControl");
        EnableDesignMode(
            (this.Control as TestUserControl).ContentPanel, "ContentPanel");
    }
}

O que preciso fazer para poder arrastar / soltar controles nas páginas da guia do TabControl?

questionAnswers(1)

yourAnswerToTheQuestion