Vb.net 组合框高度下拉列表

Vb.net 组合框高度下拉列表,vb.net,Vb.net,所以这是一个非常愚蠢的问题,但我不明白,我有一个组合框(也称为下拉列表),其中的项目经常更改,通常下拉列表的高度取决于清除项目时有多少项目(刚好足够显示所有项目),但是,下拉列表的高度仍保持上次打开时的高度。这并不重要,但我的强迫症患者不能接受这一点 我使用VisualBasic10,我是一个已经使用VB一个月的Noob 更新: 我一直在处理这个问题,我找到了一种解决方法: ComboBox1.Items.Clear() ComboBox1.Items.Add("") ComboBox1.Ite

所以这是一个非常愚蠢的问题,但我不明白,我有一个组合框(也称为下拉列表),其中的项目经常更改,通常下拉列表的高度取决于清除项目时有多少项目(刚好足够显示所有项目),但是,下拉列表的高度仍保持上次打开时的高度。这并不重要,但我的强迫症患者不能接受这一点

我使用VisualBasic10,我是一个已经使用VB一个月的Noob

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

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

因此,组合框clear()调用似乎不会自动将项目计数设置为0,但当您输入另一个项目时,它会自动将项目计数设置为0,而这会起作用。有没有更好的方法可以做到这一点?

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

我的答案是我在更新中写的

ComboBox1.Items.Clear()
ComboBox1.Items.Add("")
ComboBox1.Items.Remove("")
显然,clear函数不会重新调整下拉列表的大小?无论如何,添加项目都会触发下拉列表以重新调整大小。我发现你也可以用

ComboBox1.DropDownList.Height
但是,通过手动设置高度,您可能会关闭自动下拉列表高度,因此您必须手动调整所有项目的高度,类似这样的情况

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

WPF、Winforms、ASP.NET?是windows窗体吗?当您清除这些项目时,是否尝试将DropdownHeight属性设置为0或一行文本的高度?恐怕我不明白您的意思,但我已经解决了,因此如何解决讨论?将您的解决方案作为答案发布,然后将其标记为解决方案!很高兴您找到了修复itHello的方法,欢迎使用Stack Overflow!请添加一些信息来解释这是如何解决问题的。
ComboBox1.Items.Clear()
ComboBox1.Items.Add("")
ComboBox1.Items.Add("")
ComboBox1.Items.Add("")

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