private void DrawAvailableMoves(Coordinate oldMouseCoordinate) { Graphics g = CreateGraphics(); this.Refresh(); if (Context.Layout.ContainsKey(oldMouseCoordinate)) { Piece piece = Context.Layout[oldMouseCoordinate]; List <Coordinate> availableMoves = piece.GetNextLegalMoves(oldMouseCoordinate, Context); foreach (Coordinate coordinate in availableMoves) { g.DrawRectangle(new Pen(Color.Purple, 3), coordinate.X * CellSize, coordinate.Y * CellSize, CellSize, CellSize); } } }