private void ShowOptions() { var popup = new DropDownListPopup(listControl); popup.Show(Owner, Position.X, Position.Y + Size.Height); }
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(); }
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(); }