private void picTexture_MouseClick(object sender, MouseEventArgs e) { //AddTextureTile(); if (e.Button == MouseButtons.Right) { TilePoints.Clear(); foreach (var tileSelectImage in _tileSelectImages) { pnlTexture.Controls.Remove(tileSelectImage); } _tileSelectImages.Clear(); } if (e.Button == MouseButtons.Left) { AddTextureTile(); } }
private void AddTextureTile() { var ptCursor = Cursor.Position; ptCursor = picTexture.PointToClient(ptCursor); var textureX = (ptCursor.X - pnlTexture.Location.X - 16) / 16; var textureY = (ptCursor.Y - pnlTexture.Location.Y - 16) / 16; if (TilePoints.Any(t => t.X == textureX && t.Y == textureY)) { return; } TilePoints.Add(new Vector2(textureX, textureY)); TilePoints.Sort(delegate(Vector2 x, Vector2 y) { if (x.X > y.X) { return(1); } if (x.Y == y.Y) { return(1); } return(-1); }); var image = new PictureBox(); image.Height = 16; image.Width = 16; image.Location = new Point(picTexture.Location.X + (16 + 1) * textureX + 1, picTexture.Location.Y + (16 + 1) * textureY + 1); _tileSelectImages.Add(image); pnlTexture.Controls.Add(image); image.BringToFront(); }