public void RemoveIndicator(IChartIndicator indi) { if (indi.CreateOwnPanel) { foreach (var ind in indicators) { if (ind == indi) { continue; } if (ind.DrawPane == indi.DrawPane) {// перенести все серии на панель по-умолчанию - курс foreach (var series in ind.SeriesResult) { ind.DrawPane.Series.Remove(series); chart.StockPane.Series.Add(series); } ind.DrawPane = chart.StockPane; ind.DrawPaneDisplay = Localizer.GetString("TitleCourse"); } } // убрать саму панель if (chart.Panes.ContainsPane(indi.DrawPane)) { chart.Panes.Remove(indi.DrawPane); } } // убрать серии индикатора с панели if (indi.DrawPane != null) { foreach (var sr in indi.SeriesResult) { if (indi.DrawPane.Series.ContainsSeries(sr)) { indi.DrawPane.Series.Remove(sr); } } } indi.Remove(); // убрать сам индикатор indicators.Remove(indi); }
public void RemoveIndicator(IChartIndicator indi) { if (indi.CreateOwnPanel) { foreach (var ind in indicators) { if (ind == indi) continue; if (ind.DrawPane == indi.DrawPane) {// перенести все серии на панель по-умолчанию - курс foreach (var series in ind.SeriesResult) { ind.DrawPane.Series.Remove(series); chart.StockPane.Series.Add(series); } ind.DrawPane = chart.StockPane; ind.DrawPaneDisplay = Localizer.GetString("TitleCourse"); } } // убрать саму панель if (chart.Panes.ContainsPane(indi.DrawPane)) chart.Panes.Remove(indi.DrawPane); } // убрать серии индикатора с панели if (indi.DrawPane != null) { foreach (var sr in indi.SeriesResult) { if (indi.DrawPane.Series.ContainsSeries(sr)) indi.DrawPane.Series.Remove(sr); } } indi.Remove(); // убрать сам индикатор indicators.Remove(indi); }