如何使SplitContainers中的列表框正确调整大小?

时间:2018-06-27 20:32:45

标签: c# winforms listbox splitcontainer

要重现此问题,

  • 创建一个新的WinForms项目
  • 使用WinForms设计器,添加一个SplitContainer
    • 将其方向设置为水平
    • 将其基座设置为填充
  • SplitContainer的每个容器中,添加一个ListBox
    • 将其基座设置为填充
    • 增加其字体大小,以便可以更清楚地观察到相关行为
    • 在列表框中添加一些项目

这些步骤之后,设计器应如下所示:

enter image description here

  • 现在运行程序
  • 调整SplitContainer
  • 中容器的大小

您应该看到在某些大小的上部容器的情况下,两个列表框之间会有一个空格(抱歉,我的鼠标写得不好)。

enter image description here

对于其他尺寸的上层容器,几乎没有空间。

我假设这是因为列表框无法显示“一半的项目”,因此它减小了其大小以不显示一半的项目。这是真的吗?

我想到了以下解决方案:

限制拆分容器的可调整大小,以便用户只能在“步骤”中调整大小,其中每个步骤等于列表框中一项的高度。

但是,我不太喜欢这样,因为当物品高度很大时,用户体验会不自然(至少对我而言)。

如何使列表框正确调整大小(即不留空隙)?

1 个答案:

答案 0 :(得分:2)

您可以将IntegralHeight属性设置为false以获得所需的效果。

https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.integralheight(v=vs.110).aspx

  

获取或设置一个值,该值指示控件是否应调整大小以避免显示部分项。