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;
        }
        /// <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;
        }