public DockForm(Panel dragObject)
        {
            InitializeComponent();

            this.Opacity = 0;

            if (dragObject is DockContainer)
            {
                DockContainer c = dragObject as DockContainer;

                if (c.panList.Count == 1)
                {
                    this.ClientSize = (c.panList[0] as DockPanel).Form.ClientSize;
                }
                else
                {
                    this.ClientSize = dragObject.Size;
                }

                if (c.removeable)
                {
                    rootContainer = c;
                }
                else
                {
                    rootContainer = new DockContainer();
                    rootContainer.Controls.AddRange((DockPanel[])c.panList.ToArray(typeof(DockPanel)));
                    rootContainer.Controls.AddRange((DockContainer[])c.conList.ToArray(typeof(DockContainer)));

                    ArrayList list = new ArrayList();
                    rootContainer.GetPanels(list);
                    if (list.Count > 0)
                    {
                        rootContainer.DockType = (list[0] as DockPanel).Form.DockType;
                    }
                }
            }
            else if (dragObject is DockPanel)
            {
                DockPanel p = dragObject as DockPanel;

                this.ClientSize = p.Form.ClientSize;

                rootContainer = new DockContainer();
                p.Form.CopyToDockForm(this);
            }

            if (rootContainer.panList.Count > 0)
            {
                (rootContainer.panList[0] as DockPanel).Form.CopyPropToDockForm(this);
                rootContainer.SetFormSizeBounds(this);
                rootContainer.SelectTab(0);
            }

            rootContainer.Dock = DockStyle.Fill;
            this.Controls.Add(rootContainer);

            RegisterToMdiContainer();
        }