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