我的应用程序包含一个用户可以从中删除项目的 ComboBox。当程序启动时,它会从配置文件中读取的字符串列表中填充 ComboBox。
这是添加项目的代码:
// version list is an array of strings
foreach (string version in versionList)
{
versionComboBox.Items.Add(version);
}
if (versionComboBox.Items.Count > 0)
{
versionComboBox.SelectedIndex = 0;
}
这是组合框填充后的屏幕截图:
如果用户单击Delete按钮,程序会使用以下代码从 ComboBox 中删除所选项目:
if (versionComboBox.SelectedIndex >= 0)
{
versionComboBox.Items.Remove(versionComboBox.SelectedItem);
}
if (versionComboBox.Items.Count > 0)
{
versionComboBox.SelectedIndex = 0;
}
这是删除一些项目后组合框的屏幕截图:
我遇到的问题是当最后一个项目被删除时,组合框将自身调整为最初填充时的大小。ComboBox 中没有任何项目,但它的大小就像有一样。
这是删除所有项目后的屏幕截图:
如您所见,尺寸太大。我认为在清除所有项目后,它会如下所示:
关于为什么会发生这种情况的任何想法?