SplitContainer中的固定面板高度
问题描述:
我有一个WinForm,其中包含一个位于顶部的bindingNavigator和一个splitContainer,下面有两个水平面板。 splitContainer填充未被bindingNavigator占用的空间。SplitContainer中的固定面板高度
我想将底部面板设置为一个固定的高度,比如100像素,并使顶部面板填满剩下的空间。
这是我当前的代码:
kundeteamSplitContainer.SplitterDistance = kundeteamSplitContainer.Height - 100;
我还以为这将动态设置分离器的距离在任何时候都小于总高度100个像素,从而使得底部面板占据了剩余的100像素。这并不像预期的那样工作,因为当我在运行时重新调整窗体大小时,底部面板不断变化大小。
编辑:我坚持splitContainer,如果可能的话。获得了一些与隐藏/显示已经实现的底部面板相关的功能,我不想再做这个工作。
答
正如指出的李:
设置FixedPanel属性要保持相同尺寸的面板。
这是这样的:
teamSplitContainer.SplitterDistance = teamSplitContainer.Height - 100;
teamSplitContainer.FixedPanel = FixedPanel.Panel2;
答
我会使用TableLayoutControl这样的东西,而不是一个分离器。
答
如果你想只显示并禁用面板(无自动调整大小,不调整大小由用户)通过Sakkle添加到该行代码:
teamSplitContainer.IsSplitterFixed = true;
呃..很可能,但我现在没有改变。我更有经验的同事告诉我使用分路器,所以我现在就坚持下去。 – Sakkle 2009-09-03 14:16:17
够公平的。我只使用了VS2005版本,发现它有点太多。 – MartW 2009-09-03 15:33:31
@Sakkle:但如果唯一的要求是保持面板隐藏代码,您可以将TableLayoutPanel的行高设置为0,它的工作原理几乎相同...... – 2013-05-27 12:38:37