我正在尝试使用64(8x8)个单元格的TableLayoutPanel创建棋盘,每个单元格包含一个PictureBox。 我还希望棋盘在用户增长或缩小表单时扩展和收缩。如你所见,我还没有走得太远!
我认为下面的代码至少是一个开始,并且会将单元格显示为64个相等大小的正方形,但正如您所看到的,它不会。
'Make all the cells of equal size
For i As Integer = 0 To TLP_Chessboard.ColumnCount - 1
Dim tableColumnStyle As New ColumnStyle()
tableColumnStyle.SizeType = SizeType.Percent
tableColumnStyle.Width = CSng(100 / TLP_Chessboard.ColumnCount)
TLP_Chessboard.ColumnStyles.Add(tableColumnStyle)
Next
TLP_Chessboard.RowStyles.Clear()
For i As Integer = 0 To TLP_Chessboard.RowCount - 1
Dim tableRowStyle As New RowStyle()
tableRowStyle.SizeType = SizeType.Percent
tableRowStyle.Height = CSng(100 / TLP_Chessboard.RowCount)
TLP_Chessboard.ColumnStyles.Add(tableRowStyle)
Next
http://i40.tinypic.com/5d53l5.png
相反,如果我注释掉这段代码并编辑设计器中的行和列,将每行和每行设置为12.5%,我就明白了:
http://i43.tinypic.com/2rrpilz.png
这更接近我想要的但不够接近! 有什么想法吗?