protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (e.Button == MouseButtons.Left) { var draggedPosition = GetPosFromClickCoor(e.X, e.Y, false); var card = TryGetCardFromPos(draggedPosition); if (card == null) { return; } dragged = draggedPosition; card.selected = true; card.Invalidate(); } else if (e.Button == MouseButtons.Middle || e.Button == MouseButtons.Right) { var card = TryGetCardFromPos(GetPosFromClickCoor(e.X, e.Y, false)); if (card == null) { return; } // Reposition card form and draw. cardWindow.SetImage(DraftWindow.GetImage(card.cardName)); float x = card.Left + card.Width / 2f; float y = card.Top + card.Height / 2f; Point point = PointToScreen(new Point((int)Math.Round(x), (int)Math.Round(y))); cardWindow.SetLocation(point); cardWindow.Show(); Focus(); } }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (e.Button == System.Windows.Forms.MouseButtons.Left) { DeckBuilderCard card = GetCardFromCoor(e.X, e.Y); if (card == null) { return; } draggedCard = card; draggedCard.selected = true; draggedCard.Invalidate(); } else if (e.Button == System.Windows.Forms.MouseButtons.Middle || e.Button == System.Windows.Forms.MouseButtons.Right) { DeckBuilderCard card = GetCardFromCoor(e.X, e.Y); if (card == null) { return; } // Reposition card form and draw. cardWindow.SetImage(DraftWindow.GetImage(card.cardName)); float x = card.Left + card.Width / 2f; float y = card.Top + card.Height / 2f; Point point = PointToScreen(new Point((int)Math.Round(x), (int)Math.Round(y))); cardWindow.SetLocation(point); cardWindow.Show(); Focus(); } }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (e.Button == MouseButtons.Middle || e.Button == MouseButtons.Right) { // Find which card was clicked. int i = GetIndexFromCoor(e.X, e.Y); if (i == -1) { return; } // Reposition card form and draw. cardWindow.SetImage(DraftWindow.GetImage(cardNames[i])); float x = (i % perRow) * (spacing + CARD_WIDTH * scale) + spacing + (CARD_WIDTH * scale / 2); float y = (i / perRow) * (spacing + CARD_HEIGHT * scale) + spacing + (CARD_HEIGHT * scale / 2); Point point = PointToScreen(new Point((int)Math.Round(x), (int)Math.Round(y))); cardWindow.SetLocation(point); cardWindow.Show(); Focus(); } }