在C#中限制SplitContainer的移动?

时间:2011-06-17 20:08:06

标签: c# winforms splitcontainer

我的表格中有SplitContainer 在第一个面板上,我在第二个面板上有一个TreeView和一个ListView。 (经典)
现在我想将第一个面板(TreeView)的大小限制为250像素宽 我希望阻止分隔符移动太多(或太少) 我该怎么做?

3 个答案:

答案 0 :(得分:2)

您可以使用SplitContainer.Panel1MinSize属性。

SplitContainer1.Panel1MinSize = 250;

答案 1 :(得分:1)

首先,如果要将TreeView约束为250px,请将FixedPanel设置为Panel1,将IsSplitterFixed属性设置为True,并将Panel1MinSize设置为250.这基本上只使用分割图形;分割器将默认为足够大的TreeView大小,并且不会移动。

如果你想将TreeView限制在至少250px,只需将Panel1MinSize设置为250.这将阻止用户使面板比这更小,尽管它们可以使它更大。没有最大约束,但您可以通过设置窗口的最大大小和SplitContainer的其他面板的最小大小来获得效果。

答案 2 :(得分:0)

只是一点点补充。

这是放在frmMain_Load()(或whereever)中的代码。在代码中,最小值为250像素,最大值为400像素。

this.splitContainer1.Panel1MinSize = 250;
this.splitContainer1.Panel2MinSize = this.splitContainer1.Width - 400;

不要忘记在resize事件frmMain_Resize()

中放置相同的代码