【发布时间】:2009-05-08 18:01:31
【问题描述】:
有没有办法确定 Windows 窗体列表框的显示高度?在我正在开发的应用程序中,我有一个带有停靠在其中的 ListBox 的表单。我需要自动调整表单的大小以删除由于 ListBox.IntegralHeight 设置为 true 而 ListBox 未使用的底部的任何额外空间。目前我正在使用 Form.Height 除以 ListBox.ItemHeight 来调整 Form 的大小,然后将该值乘以 ListBox.ItemHeight 以四舍五入多余的不必要高度。
this.Height = (this.Height / this.listBox.ItemHeight) * this.listBox.ItemHeight;
这在 Vista 中效果很好,但是当我将我的应用程序带到 XP 时,出现了问题,并且表单底部仍然显示了额外的空间。
我不能使用 ListBox.PreferredHeight,因为这只会给我显示所有项目时 ListBox 占用的空间量。
【问题讨论】: