/// <summary>
        /// Получение шаблона из toolset.xml и применение его к графику
        /// </summary>
        /// <param name="templateName">имя щаблона, который нужно применить</param>
        /// <param name="child">форма, на которой распологается график</param>
        private static void ApplyTemplate(string templateName, ChartForm child)
        {
            var childTemplate = ChartTemplate.GetChartTemplate(templateName);

            if (childTemplate == null)
            {
                return;
            }
            if (childTemplate.Attributes[ChartTemplate.AttributeChartSize] != null)
            {
                child.Size = ChartTemplate.StringToSize(childTemplate.Attributes[ChartTemplate.AttributeChartSize].Value).Value;
            }

            child.chart.LoadIndicatorSettings(childTemplate);
            child.chart.UpdateIndicatorPanesAndSeries();
        }
        /// <summary>
        /// Обработчик события открывает форму выбора шаблона для применения и применяет выбранный шаблон, если пользователь нажал "Ok"
        /// </summary>
        private void MenuLoadTemplateClick(object sender, EventArgs e)
        {
            var currentChartWindows = ActiveMdiChild as ChartForm;

            if (currentChartWindows == null)
            {
                return;
            }

            var applyChartTemplate = new ApplyChartTemplate(currentChartWindows.chart);

            if (applyChartTemplate.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            // Удаляем все индикаторы, которые сейчас есть на графике
            while (currentChartWindows.chart.indicators.Count > 0)
            {
                currentChartWindows.chart.RemoveIndicator(currentChartWindows.chart.indicators[0]);
            }

            var applyTemplateXml = ChartTemplate.GetChartTemplate(currentChartWindows.chart.CurrentTemplateName);

            if (applyTemplateXml != null && applyTemplateXml.Attributes != null)
            {
                var sz = applyTemplateXml.GetAttributeSize(ChartTemplate.AttributeChartSize);
                if (sz.HasValue)
                {
                    currentChartWindows.Size = sz.Value;
                }

                currentChartWindows.chart.CurrentTemplateName =
                    applyTemplateXml.GetAttributeString(ChartTemplate.AttributeName,
                                                        currentChartWindows.chart.CurrentTemplateName);
                currentChartWindows.chart.LoadIndicatorSettings(applyTemplateXml);
            }
            currentChartWindows.chart.UpdateIndicatorPanesAndSeries();
            currentChartWindows.chart.BuildIndicators(true);
        }