试图在TableLayoutPanel中制作大小相等的单元格

时间:2013-11-26 23:45:09

标签: vb.net tablelayoutpanel

我正在尝试使用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

这更接近我想要的但不够接近! 有什么想法吗?

0 个答案:

没有答案