public HoverForm() { Opacity = 0.6; size = 1; InitializeComponent(); this.fieldButton1.BackColor = Color.WhiteSmoke; this.fieldButton1.Click += fieldButton1_Click; this.fieldButton1.drawCenterX = 50; this.fieldButton1.drawCenterY = 43; for (int i = 0; i < Game.MAXBUILDINGSIZE; i++) { FieldButton f = new FieldButton(); f.BackColor = Color.WhiteSmoke; f.Parent = this; f.Name = "extraButton_" + i; f.Size = new Size(fieldButton1.Width, fieldButton1.Height); f.Click += fieldButton1_Click; f.MouseMove += HoverForm_MouseMove; this.extraButtons.Add(f); this.Controls.Add(f); } this.fieldButton1.MouseMove += HoverForm_MouseMove; rotMatrix = new System.Drawing.Drawing2D.Matrix(); rotMatrix.RotateAt(180, new PointF(fieldButton1.drawCenterX, fieldButton1.drawCenterY)); }
//generate buttons for the field private void generateField() { int posX = 0; int posY = this.GameMenu.Height; for (int line = 0; line < mainBoard.getBoardSize()[1]; line++) { for (int col = 0; col < mainBoard.getBoardSize()[0]; col++) { //depending on the position flip triangle to cover area if ((col + line) % 2 == 0) { mainField[col, line] = new FieldButton(new Point[3] { new Point(0, 86), new Point(100, 86), new Point(50, 0) }, mainBoard.getField(col, line).type); } else { mainField[col, line] = new FieldButton(new Point[3] { new Point(0, 0), new Point(100, 0), new Point(50, 86) }, mainBoard.getField(col, line).type); } //set parameters for button and add handler mainField[col, line].Parent = this; mainField[col, line].Location = new System.Drawing.Point(posX, posY); mainField[col, line].Size = new System.Drawing.Size(100, 86); mainField[col, line].Name = "fieldButton:" + col + ":" + line + ":" + posX + ":" + posY; mainField[col, line].Click += new System.EventHandler(this.FieldButton_Click); mainField[col, line].MouseHover += new System.EventHandler(this.FieldButton_MouseHover); mainField[col, line].MouseLeave += new System.EventHandler(this.FieldButton_MouseLeave); mainField[col, line].initFieldButton(); this.Controls.Add(mainField[col, line]); posX += 51; } posX = 0; posY += 87; } }