SplitterDistance属性不会小于25像素

时间:2015-03-25 16:22:19

标签: c# winforms splitcontainer

我在拆分容器中有一个拆分容器,当我将SplitterDistance设置为小于25像素的任何值时,SplitterDistance不会变小。我可以在运行期间使它小于25像素,没有问题。我可以通过代码或设计器使它更大,并在运行时没有问题。我想将其设置为大约20个像素,而无需用户重新调整大小。有没有人知道它为什么会一直恢复到25像素,如果还有它可以让它少于那个?

我尝试了这个并且它不起作用:

        // 
        // splitContainer3
        // 
        this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
        this.splitContainer3.Location = new System.Drawing.Point(0, 0);
        this.splitContainer3.Name = "splitContainer3";
        this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
        // 
        // splitContainer3.Panel1
        // 
        this.splitContainer3.Panel1.RightToLeft = System.Windows.Forms.RightToLeft.No;
        this.splitContainer3.Panel1MinSize = 5;
        // 
        // splitContainer3.Panel2
        // 
        this.splitContainer3.Panel2.Controls.Add(this.txtLineNums);
        this.splitContainer3.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No;
        this.splitContainer3.Panel2MinSize = 5;
        this.splitContainer3.RightToLeft = System.Windows.Forms.RightToLeft.No;
        this.splitContainer3.Size = new System.Drawing.Size(47, 562);
        this.splitContainer3.SplitterDistance = 20;
        this.splitContainer3.SplitterWidth = 2;
        this.splitContainer3.TabIndex = 0;
        this.splitContainer3.TabStop = false;

谢谢!

1 个答案:

答案 0 :(得分:6)

确保您的拆分容器面板MinSizes不会设置得太高而不能降至20.默认面板MinSizes为25.拆分器距离将尽可能低,而不会侵占它。

面板大小在整个拆分容器属性中设置。您可以在下面看到:

enter image description here

当然,您始终可以通过深入查看代码中的拆分容器属性来以编程方式设置它们:

splitContainer1.Panel1MinSize = 0;
splitContainer1.SplitterDistance = 20;

[编辑]

进一步的演示如下:

enter image description here

enter image description here