组合框下拉列表的高度

时间:2016-01-10 00:01:59

标签: vb.net

所以这是一个非常愚蠢的问题,但我无法弄明白,我有一个Combo Box(又名下拉列表),其项目经常变化,通常下拉列表的高度取决于如何当您清除项目时,有很多项目(只是足够显示所有项目),但下拉列表的高度保持在您上次打开它的高度。它并不真实,但我的OCD不能接受这一点。

我使用的是Visual Basic 10,而且我是一个使用VB大约一个月的Noob。

更新: 我正在解决这个问题,我找到了一种方法:

ComboBox1.Items.Clear()
ComboBox1.Items.Add("")
ComboBox1.Items.Remove("")

所以看起来组合框clear()调用不会自动将Item计数设置为0,但是当你输入另一个项目时,它会有效,那么还有更好的方法吗?

3 个答案:

答案 0 :(得分:0)

我会将cb设置为固定高度,只让下拉高度为" dinamyc"。 希望它有所帮助

答案 1 :(得分:0)

我的回答是我在更新中写的,

ComboBox1.Items.Clear()
ComboBox1.Items.Add("")
ComboBox1.Items.Remove("")

显然,明确的功能不会重新调整下拉列表的大小?无论如何添加项目确实如此添加和删除项目会触发下拉列表以重新调整大小。我发现你也可以使用

来做到这一点
ComboBox1.DropDownList.Height

但是,通过手动设置高度,您可以关闭自动下拉列表高度,那么您必须手动调整所有项目的大小,这样的东西?

ComboBox1.DropDownList.Height = ComboBox1.Items.Count * ComboBox1.Items.Height

答案 2 :(得分:0)

ComboBox1.Items.Clear()
ComboBox1.Items.Add("")
ComboBox1.Items.Add("")
ComboBox1.Items.Add("")

ComboBox1.DropDownHeight = ComboBox1.Items.Count * ComboBox1.ItemHeight