/// <summary>
        /// This will not remove the main pane, since it is mandatory.
        /// </summary>
        public bool RemoveSlavePane(SubChartPane pane)
        {
            if (_panes.Remove(pane))
            {
                pane.ActualDrawingSpaceMarginLeftUpdateEvent -= new SubChartPane.ActualDrawingSpaceMarginLeftUpdateDelegate(masterPane_ActualDrawingSpaceMarginLeftUpdateEvent);
                pane.MainChartPane = null;
                pane.Clear(true, true);

                this.Controls.Remove((Splitter)pane.Tag);
                pane.Tag = null;

                pane.Parent = null;

                _requiredActualDrawingAreaLeftMargin = 0;
                return(true);
            }
            return(false);
        }
        public ChartPane CreateSlavePane(string chartName, SubChartPane.MainChartPaneSyncModeEnum masterSynchronizationMode, int height)
        {
            SubChartPane pane = new SubChartPane();

            _panes.Add(pane);
            pane.Name      = "Slave Pane[" + chartName + "]";
            pane.ChartName = chartName;

            pane.Dock = DockStyle.Bottom;
            pane.MainChartPaneSynchronizationMode         = masterSynchronizationMode;
            pane.ActualDrawingSpaceMarginLeftUpdateEvent += new SubChartPane.ActualDrawingSpaceMarginLeftUpdateDelegate(masterPane_ActualDrawingSpaceMarginLeftUpdateEvent);

            pane.XAxisLabelsFontBrush = null;

            Splitter splitter = new Splitter();

            splitter.Height = 4;
            splitter.Dock   = DockStyle.Bottom;
            this.Controls.Add(splitter);
            splitter.SendToBack();

            pane.Tag = splitter;

            this.Controls.Add(pane);
            pane.SendToBack();
            pane.Height        = height;
            pane.MainChartPane = MainPane;

            hScrollBar.SendToBack();
            vScrollBar.SendToBack();

            //this.toolStripDynamicObjects.SendToBack();
            //this.toolStripMain.SendToBack();

            return(pane);
        }