请问各位高手:如何在运行时动态调整TableLayoutPanel的行高及列宽,就像在设计时可以自由调整TableLayoutPanel列宽和行高一样.谢谢!

解决方案 »

  1.   

    可以让TableLayoutPanel的AutoSize=true
    然后控制TableLayoutPanel单元格里的控件Size
    可以自动撑开行高及列宽
      

  2.   

    首先,你要设置TableLayoutPanel行和列的宽度模式,是固定宽度还是百分比。
    然后,TableLayoutPanel有个属性,我忘了是row还是item还是别的什么的,类似于 TableLayoutPanel.rows[0].items[1].width 或 height = 100 或 30%。 具体哪个属性你可以去MSDN查一下。
      

  3.   

    应该不行,因为本来这个每个字Panel就是自动调整,属性中可以用百分比描述了。拖动似乎没办法。用标准的Panel多嵌套几个,内部用split控件分割开。
      

  4.   

    如果是绝对像素点的设置第0行的行高为100,可以这样:
            TableLayoutPanel1.RowStyles(0).SizeType = SizeType.Absolute
            TableLayoutPanel1.RowStyles(0).Height = 100
    至于更进一步,使用鼠标调整的方法……我都想知道,哈哈。
    另外:
    大家慎用splitcontainer啊,我的程序中,使用了2层的splitcontainer(就是splitcontainer里面再加载splitcontainer,达到类似分开3列的效果),中间一列再加载pannel,然后动态加载webrowser,web中打开远程桌面WEB连接(即是远程桌面的web版本),很神奇地,鼠标的焦点会由于点击别的pannel,而不知道去哪里了,所以我也打算改用tablepannel了。