SplitContainer中的固定面板高度

我有一个WinForm,顶部有一个bindingNavigator,下面有两个水平面板的splitContainer。 splitContainer填充未被bindingNavigator占用的空间。

我想将底部面板设置为固定高度,例如100像素,并让顶部面板填充剩余的空间。

这是我目前的代码:

kundeteamSplitContainer.SplitterDistance = kundeteamSplitContainer.Height - 100; 

我原以为这会将分离器距离动态设置为始终小于总高度100个像素,使得底部面板占据剩余的100个像素。 虽然在运行时重新调整表单大小时底部面板不断改变大小,但这不能按预期工作。

编辑:如果可能的话,我会坚持使用splitContainer。 获得了一些与隐藏/显示已经实现的底部面板相关的function,我不想再次执行该工作。

将FixedPanel属性设置为要保持相同大小的面板。

正如李指出的那样:

将FixedPanel属性设置为要保持相同大小的面板。

这样工作如下:

 teamSplitContainer.SplitterDistance = teamSplitContainer.Height - 100; teamSplitContainer.FixedPanel = FixedPanel.Panel2; 

我使用TableLayoutControl来做这样的事情而不是Splitter。

最好的方法是将isSplitterFixed属性设置为“True”

splitcontainer的属性窗口

如果你只想显示和禁用面板(没有自动resize,没有用户resize)添加到Sakkle这行代码:

 teamSplitContainer.IsSplitterFixed = true;