SplitContainer仅调整panel1的大小

Tes*_*101 2 c# custom-controls splitcontainer

有没有办法让SplitContainer只调整panel1的大小?我有一个Vertical SplitContainer,当我移动分割器时,我希望第一个面板的大小增加/减少,而不是改变第二个面板的大小,我希望表单增加和减小尺寸.

我创建了一些代码来增加/减少窗体的大小,但是Panel2也在改变大小,因此整个面板并不总是可见的.

我是否必须制作自己的容器,或者是否可以使用SplitContainer?

我有一个表单"MainWin",其中包含一个Panel"MainPanel"MainPanel包含SplitContainer"MainSplitContainer".Panel1包含TreeView,Panel2包含3个面板,这些面板根据TreeView中选择的项目可见.我希望这三个面板始终完全可见(我打算限制分割器的扩展,以便表单不能扩展到屏幕之外),这是可能的还是我应该创建自己的控件并调整使用的大小MouseDown,MouseUp和MouseMove事件?

Cri*_*ole 6

不需要创建自己的表单:SplitContainer有一个属性:"FixedPanel"选择SplitContainer并在Layout部分中查看"FixedPanel"将其设置为您希望在宽度或高度上保持不变的面板(取决于面板布局) ).

编程方式:

sc.FixedPanel = FixedPanel.Panel1; //Or Panel2
Run Code Online (Sandbox Code Playgroud)

看到:

Splitcontainer,制作固定面板

SplitContainer中的固定面板高度