tablelayoutpanel行列宽高可以设置百分比的,和固定像素的。再加上DOCK属性可以做到。

解决方案 »

  1.   

    研究了一个上午,还是自己解决了,代码如下:
    //动态添加样式
    for (int j = 0; j < getrows; j++)
                    {
                        MainPanel.RowStyles.Add(new RowStyle());
                    }
                    for (int j = 0; j < getcols; j++)
                    {
                        MainPanel.ColumnStyles.Add(new ColumnStyle());
                    }
    //对动态添加的样式设定行列比例
                    for (int i = 0; i < MainPanel.RowStyles.Count; i++)
                    {
                        MainPanel.RowStyles[i].SizeType = SizeType.Absolute;
                        MainPanel.RowStyles[i].Height = (int)(MainPanel.Height / getrows);
                    }
                    for (int i = 0; i < MainPanel.ColumnStyles.Count; i++)
                    {
                        MainPanel.ColumnStyles[i].SizeType = SizeType.Absolute;
                        MainPanel.ColumnStyles[i].Width = (int)(MainPanel.Width / getcols);
                    }