c# - 删除所有项目后组合框大小问题

标签 c# combobox resize selecteditem

我的应用程序包含一个 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;
}

这是填充后组合框的屏幕截图:

Combo Box Initial

如果用户单击删除 按钮,程序会使用以下代码从 ComboBox 中删除所选项目:

if (versionComboBox.SelectedIndex >= 0)
{
    versionComboBox.Items.Remove(versionComboBox.SelectedItem);
}
if (versionComboBox.Items.Count > 0)
{
    versionComboBox.SelectedIndex = 0;
}

这是删除一些项目后组合框的屏幕截图:

Combo Box Reduced

我遇到的问题是,当删除最后一项时,ComboBox 将自身调整为最初填充时的大小。 ComboBox 中没有任何项目,但它会自行调整大小,就好像有。

这是删除所有项目后的屏幕截图:

Combo Box Cleared

如您所见,尺寸太大了。我想在所有项目都被清除后它会看起来像下面这样:

Combo Box Initial No Data

关于为什么会发生这种情况有什么想法吗?

最佳答案

在填充组合框项目时尝试在代码末尾使用它:

comboBoxNumTreno.IntegralHeight = true; // auto fit dropdown list

然后清除它:

comboBoxNumTreno.ResetText();
comboBoxNumTreno.Items.Clear();
comboBoxNumTreno.SelectedIndex = -1;
comboBoxNumTreno.DropDownHeight = 106; // default value
comboBoxNumTreno.IntegralHeight = false; 

关于c# - 删除所有项目后组合框大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17769148/

相关文章:

jquery - 如何一次性创建一个可调整大小并调整其大小的对象? (以编程方式开始调整大小)

jQuery在一定窗口宽度以上触发函数

swift - 你如何使图像大小符合现有图像评论的大小

c# - 使用 C# 和 XAML 在 Windows 应用商店应用程序中绑定(bind)资源文件值字符串

c# - 在非静态类中,如何保留在多个不同类中同时调用的静态方法中使用的静态变量的值

c# - 在 ASP.NET 中为购物车系统创建数量更新按钮

c# - asp.net mvc使用主动模式还是被动模式

java - 保留默认 UI,同时更改某些方面

javascript - 如何禁用带有单选按钮的组合框(javascript)

javascript - 可过滤的多选组合框穿梭/转移小部件