我有一个WinForm,顶部有一个bindingNavigator,下面有两个水平面板的splitContainer。 splitContainer填充未被bindingNavigator占用的空间。
我想将底部面板设置为固定高度,例如100像素,并让顶部面板填充其余空间。
这是我目前的代码:
kundeteamSplitContainer.SplitterDistance = kundeteamSplitContainer.Height - 100;
我原以为这会将分割器距离动态设置为始终小于总高度100个像素,使得底部面板占据剩余的100个像素。这不能按预期工作,因为当我在运行时重新调整表单大小时底部面板会不断改变大小。
编辑:如果可能的话,我会坚持使用splitContainer。获得了一些与隐藏/显示已经实现的底部面板相关的功能,我不想再做那项工作了。
答案 0 :(得分:27)
将FixedPanel属性设置为您希望保持相同大小的面板。
答案 1 :(得分:17)
李指出:
将FixedPanel属性设置为您希望保持相同大小的面板。
这样的工作原理如下:
teamSplitContainer.SplitterDistance = teamSplitContainer.Height - 100;
teamSplitContainer.FixedPanel = FixedPanel.Panel2;
答案 2 :(得分:2)
我会使用TableLayoutControl来做这样的事情而不是Splitter。
答案 3 :(得分:2)
答案 4 :(得分:0)
如果你只想显示和禁用面板(没有自动调整大小,没有用户调整大小),请在Sakkle这行添加代码:
teamSplitContainer.IsSplitterFixed = true;