【发布时间】:2015-01-31 18:34:40
【问题描述】:
我的 winform 上有一个面板控件,它将在其中显示多个面板。对于每个内部面板,我正在设置它的高度。但有些显示的内容较少,有些显示的内容较多。
Panel hrvPanel = new Panel();
ArrayList hrvColl = pnlColl ; //Panel collection list gets from a Method
if(hrvColl.Count == 0)
return;
int splits = 0;
for(int p= hrvColl.Count-1;p>=0;p--)
{
Panel hrv = hrvColl[p] as Panel;
hrv.Height = 150;
hrvPanel.Controls.Add(hrv);
//Adding splliter
if(splits < hrvColl.Count - 1)
{
Splitter splitGrid = new Splitter();
splitGrid.Dock = DockStyle.Top;
hrvPanel.Controls.Add(splitGrid);
splits++;
}
}
hrvPanel.Dock = DockStyle.Top;
如何根据内容大小调整每个内部面板的高度?我尝试将hrv.AutoSize设置为true,然后我只能看到最后一个面板和hrv.Dock = Top,但结果是一样的。
【问题讨论】:
-
如果外面板有
Autosize = true,您将能够看到所有内面板。如果你不这样做,你有一些设置错误。确保内部面板中没有使用 Dock 和 Anchor 的未经授权的设置。 - 编写一个函数来找出所有内部面板的最大顶部 + 高度也很简单,但这真的不需要! -
您的问题解决了吗?