SplitterDistance属性不会小于25像素

J_C*_*J_C 0 c# splitcontainer winforms

我在拆分容器中有一个拆分容器,当我将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;
Run Code Online (Sandbox Code Playgroud)

谢谢!

K_R*_*Ram 6

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

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

在此输入图像描述

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

splitContainer1.Panel1MinSize = 0;
splitContainer1.SplitterDistance = 20;
Run Code Online (Sandbox Code Playgroud)

[编辑]

进一步的演示如下:

在此输入图像描述

在此输入图像描述