コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }