Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SplitContainer-当方向设置为水平时,是什么导致我体验到的不一致行为?_C#_Anchor_Docking_Splitcontainer - Fatal编程技术网

C# SplitContainer-当方向设置为水平时,是什么导致我体验到的不一致行为?

C# SplitContainer-当方向设置为水平时,是什么导致我体验到的不一致行为?,c#,anchor,docking,splitcontainer,C#,Anchor,Docking,Splitcontainer,从零开始,在一个新项目中,默认Form1表单的属性没有改变,我在表单上放置了一个SplitContainer,并将其属性设置为: 锚-顶部,左侧 码头填料 方向-垂直 然后,我将第二个SplitContainer放入第一个SplitContainer的左侧面板(面板1),并再次将其属性设置为上面的属性,但这次拆分器的方向设置为水平 现在,我在第二个SplitContainer的上部和下部面板(面板1和面板2)中放置两个CheckedListBox。两个CheckedListBox的属性都设置为:

从零开始,在一个新项目中,默认Form1表单的属性没有改变,我在表单上放置了一个SplitContainer,并将其属性设置为:

锚-顶部,左侧

码头填料

方向-垂直

然后,我将第二个SplitContainer放入第一个SplitContainer的左侧面板(面板1),并再次将其属性设置为上面的属性,但这次拆分器的方向设置为水平

现在,我在第二个SplitContainer的上部和下部面板(面板1和面板2)中放置两个CheckedListBox。两个CheckedListBox的属性都设置为:

锚-顶部,左侧

码头填料

现在,我将文本框添加到第一个SplitContainer的右侧面板(面板2),并将其属性设置为:

锚-顶部,左侧

码头填料

多行-真

当我编译并运行这个应用程序时,我添加的第一个SplitContainer的一部分垂直拆分器的行为和工作方式完全符合预期,因此没有问题。 但是,第二个SplitContainer中的水平定向拆分器始终显示不稳定的行为-拆分器本身的宽度随着其上下移动而变化。但拆分器宽度的增加或减少也与移动方向不一致-例如,在启动时将拆分器从初始位置向上移动一段距离可能会导致拆分器比以前更薄,而进一步向上调整则会导致拆分器更厚

当我移动拆分器时,下部CheckedListBox的下边缘也会上下移动,与之前一样,此行为与拆分器的移动方向不一致

为了避免将对组件属性的更改从一个实验转移到另一个实验,我一直在尝试通过从头开始六个左右的新项目,尝试不同的事情,包括对锚定、边框样式、停靠和边距属性的更改,来了解到底发生了什么,但不幸的是,我一点也不知道:-(

有没有人对这种不稳定的行为有过类似的经历,可以给我一个解决方案?我可能忽略了一些简单的事情,如果是的话,那是什么

谢谢你的阅读

编辑\更新-
经过进一步的实验,我能够确定我所经历的不想要的行为与checkedListBox有某种关系——我用多行文本框替换了这两个文本框,它们的“锚定”和“停靠”属性设置为“顶部,左侧”和“填充”分别运行应用程序后,不稳定行为不再发生-垂直和水平拆分器工作正常。

将列表框的IntegralHeight属性设置为False,以便允许它们调整大小以适应面板