protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);

            var containerPoints = indicatorPointArray.Select(p => new PointF(p.X * Sx, p.Y * Sy)).ToArray();
            var containerPath   = new GraphicsPath();

            containerPath.AddPolygon(containerPoints);
            if (!containerPath.IsVisible(e.Location))
            {
                return;
            }


            for (var i = 0; i < trianglePointArray.Length; i++) // Переварачиваем треугольник
            {
                trianglePointArray[i] = new PointF(triangleClosePointArray[i].X, -1 * triangleClosePointArray[i].Y);
            }

            // Если размеры выпадающего списка обновились, то нужно обновить размеры выпадающих элементов и размеры контейнера
            if (mustUpdateSize)
            {
                dropList.Width = Width;
                mustUpdateSize = false;
            }

            var volumeQuoteDropDownList = new DropDownListPopup(dropList);

            volumeQuoteDropDownList.Show(new Point(PointToScreen(ClientRectangle.Location).X, PointToScreen(ClientRectangle.Location).Y + ClientRectangle.Height));
            volumeQuoteDropDownList.Closed += VolumeQuoteDropDownListClosed;
            Invalidate();
        }
        private void GridTickersOnUserHitCell(object sender, MouseEventArgs mouseEventArgs, int rowIndex, FastColumn col)
        {
            if (mouseEventArgs.Button != MouseButtons.Left)
            {
                return;
            }
            var sets = (TagGraphics)gridTickers.rows[rowIndex].ValueObject;

            // добавить строку
            if (sets.IsNewRowDummy)
            {
                var newSets = new TagGraphics
                {
                    Symbol      = DalSpot.Instance.GetTickerNames().First(),
                    BarSettings = BarSettingsStorage.Instance.GetCollection().First()
                };

                // копировать существующую?
                var setsSpec = gridTickers.rows.Select(r => (TagGraphics)r.ValueObject).FirstOrDefault(r => r.IsNewRowDummy == false);
                if (setsSpec != null)
                {
                    newSets.Symbol      = setsSpec.Symbol;
                    newSets.BarSettings = setsSpec.BarSettings;
                }

                var setsList = gridTickers.rows.Select(r => (TagGraphics)r.ValueObject).ToList();
                setsList.Add(newSets);

                gridTickers.DataBind(setsList);
                AnchorDummyRow();
                gridTickers.Invalidate();
                return;
            }

            // всплывающий диалог
            if (col.PropertyName == TagGraphics.speciman.Property(s => s.Symbol) ||
                col.PropertyName == TagGraphics.speciman.Property(s => s.TimeframeString))
            {
                // показать combobox - выбор тикера / таймфрейма
                var coords = gridTickers.GetCellCoords(col, rowIndex);

                var list = col.PropertyName == TagGraphics.speciman.Property(s => s.Symbol) ? listTickers : listTimeframes;
                list.Width = col.ResultedWidth;

                var popup = new DropDownListPopup(list);
                popup.Show(gridTickers, coords.X, coords.Y + gridTickers.CellHeight);
                list.cellClicked = (obj, text) =>
                {
                    if (list == listTickers)
                    {
                        sets.Symbol = text;
                    }
                    else
                    {
                        sets.TimeframeString = text;
                    }
                    gridTickers.UpdateRow(rowIndex, sets);
                    gridTickers.InvalidateCell(col, rowIndex);
                };
                return;
            }

            // удаление
            gridTickers.rows.RemoveAt(rowIndex);
            gridTickers.Invalidate();
        }