如何使 SplitContainers 中的 ListBoxes 正确调整大小?
Posted
技术标签:
【中文标题】如何使 SplitContainers 中的 ListBoxes 正确调整大小?【英文标题】:How to make ListBoxes in SplitContainers resize properly? 【发布时间】:2018-12-06 20:00:11 【问题描述】:要重现此问题,
新建一个 WinForms 项目 使用 WinForms 设计器,添加SplitContainer
将其方向设置为水平
将其停靠栏设置为填充
在SplitContainer
的每个容器中,添加ListBox
将其停靠栏设置为填充
增大其字体大小,以便更清楚地观察相关行为
向列表框中添加一些项目
完成这些步骤后,设计器应如下所示:
现在运行程序 调整SplitContainer
中的容器大小
您应该看到,对于某些大小的上部容器,两个列表框之间会有一个空格(对不起,我的鼠标写得不好)。
对于其他尺寸的上部容器,几乎没有空间。
我假设这是因为列表框不能显示“半个项目”,所以它会减小它的大小以不显示半个项目。这是真的吗?
我想到了以下解决方案:
限制拆分容器的可调整大小,因此用户只能在“步长”中调整大小,其中每个步长等于列表框中一个项目的高度。
但是,我不太喜欢这样,因为当项目高度很大时,用户体验会感觉不自然(至少对我而言)。
我怎样才能使列表框正确调整大小(即不留空隙)?
【问题讨论】:
【参考方案1】:您可以将IntegralHeight
属性设置为false
,以达到想要的效果。
https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.integralheight(v=vs.110).aspx
获取或设置一个值,该值指示控件是否应调整大小以避免显示部分项。
【讨论】:
以上是关于如何使 SplitContainers 中的 ListBoxes 正确调整大小?的主要内容,如果未能解决你的问题,请参考以下文章