public void refreshBoard(Board b) { if (tblBoard.InvokeRequired) { refreshBoardDelegate r = new refreshBoardDelegate(refreshBoard); this.Invoke(r, new object[] { b }); } else { if (!created) { tblBoard.SuspendLayout(); this.tblBoard.ColumnCount = b.getWidth(); this.tblBoard.RowCount = b.getHeight(); for (int i = 0; i < b.getWidth(); i++) { for (int j = 0; j < b.getHeight(); j++) { Label t = new Label(); Field f = b.getField(i, j); Stone s = f.getStone(); t.Dock = DockStyle.Fill; t.AutoSize = false; t.Font = new Font("Arial", 20); t.AllowDrop = true; t.DragDrop += new System.Windows.Forms.DragEventHandler(this.tblBoard_DragDrop); t.DragEnter += new System.Windows.Forms.DragEventHandler(this.tblBoard_DragEnter); t.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tblBoad_Click); switch (f.getType()) { case Field.Types.DoubleLetter: t.BackColor = Color.LightSalmon; break; case Field.Types.DoubleWord: t.BackColor = Color.LightGreen; break; case Field.Types.TripleLetter: t.BackColor = Color.DarkSalmon; break; case Field.Types.TripleWord: t.BackColor = Color.DarkGreen; break; default: break; } if (s != null) { t.Text = s.letter + "(" + s.value + ")"; } else { t.Text = ""; } tblBoard.Controls.Add(t, i, j); } } tblBoard.ResumeLayout(); created = true; } else { tblBoard.SuspendLayout(); for (int i = 0; i < b.getWidth(); i++) { for (int j = 0; j < b.getHeight(); j++) { Field f = b.getField(i, j); Stone s = f.getStone(); switch (f.getType()) { case Field.Types.DoubleLetter: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.LightSalmon; break; case Field.Types.DoubleWord: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.LightGreen; break; case Field.Types.TripleLetter: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.DarkSalmon; break; case Field.Types.TripleWord: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.DarkGreen; break; default: break; } if (s != null) { ((Label)tblBoard.GetControlFromPosition(i, j)).Text = s.letter + "(" + s.value + ")"; } else { ((Label)tblBoard.GetControlFromPosition(i, j)).Text = ""; } } } tblBoard.ResumeLayout(); } board = b; } }
public void refreshBoard(Board b) { if (tblBoard.InvokeRequired) { refreshBoardDelegate r = new refreshBoardDelegate(refreshBoard); this.Invoke(r, new object[] { b }); } else { if (!created) { tblBoard.SuspendLayout(); this.tblBoard.ColumnCount = b.getWidth(); this.tblBoard.RowCount = b.getHeight(); for (int i = 0; i < b.getWidth(); i++) { for (int j = 0; j < b.getHeight(); j++) { Label t = new Label(); Field f = b.getField(i, j); Stone s = f.getStone(); t.Dock = DockStyle.Fill; t.AutoSize = false; t.Font = new Font("Arial", 20); t.AllowDrop = true; t.DragDrop += new System.Windows.Forms.DragEventHandler(this.tblBoard_DragDrop); t.DragEnter += new System.Windows.Forms.DragEventHandler(this.tblBoard_DragEnter); t.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tblBoad_Click); switch (f.getType()) { case Field.Types.DoubleLetter: t.BackColor = Color.LightSalmon; break; case Field.Types.DoubleWord: t.BackColor = Color.LightGreen; break; case Field.Types.TripleLetter: t.BackColor = Color.DarkSalmon; break; case Field.Types.TripleWord: t.BackColor = Color.DarkGreen; break; default: break; } if (s != null) { t.Text = s.letter + "(" + s.value + ")"; } else { t.Text = ""; } tblBoard.Controls.Add(t, i, j); } } tblBoard.ResumeLayout(); created = true; } else { tblBoard.SuspendLayout(); for (int i = 0; i < b.getWidth(); i++) { for (int j = 0; j < b.getHeight(); j++) { Field f = b.getField(i, j); Stone s = f.getStone(); switch(f.getType()){ case Field.Types.DoubleLetter: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.LightSalmon; break; case Field.Types.DoubleWord: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.LightGreen; break; case Field.Types.TripleLetter: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.DarkSalmon; break; case Field.Types.TripleWord: ((Label)tblBoard.GetControlFromPosition(i, j)).BackColor = Color.DarkGreen; break; default: break; } if (s != null) { ((Label)tblBoard.GetControlFromPosition(i, j)).Text = s.letter + "(" + s.value + ")"; } else { ((Label)tblBoard.GetControlFromPosition(i, j)).Text =""; } } } tblBoard.ResumeLayout(); } board = b; } }