添加或删除项目时,ComboBox.DropDownHeight值不会更改

时间:2015-07-13 19:07:21

标签: c# winforms combobox

在WFA中运行以下代码时

public partial class Form1 : Form
{
    string[] items = { "A", "B", "C", "D", "E" };

    public Form1()
    {
        InitializeComponent();
        UpdateDropDownHeight();
    }

    private void UpdateDropDownHeight()
    {
        textBox1.Text = comboBox1.DropDownHeight.ToString();
    }

    private void button_populate_Click(object sender, EventArgs e)
    {
        for(int i = 0; i<items.Length; i++)
        {
            comboBox1.Items.Add(items[i]);
        }
        UpdateDropDownHeight();
    }

    private void button_clear_Click(object sender, EventArgs e)
    {
        comboBox1.Items.Clear();
        UpdateDropDownHeight();
    }
}

我注意到在将新项目添加到组合框时,combobox1.DropDownHeight值永远不会更改。单击button_populate时,明显的下拉区域会明显改变 另一个用户提问

  

Combo Box Size Issue After All Items Are Removed

为删除项目后如何调整明显的下拉区域提供了一个有些令人困惑的答案。那么DropDownHeight属性的目的是什么以及什么是改变ComboBox的明显下拉区域?

1 个答案:

答案 0 :(得分:1)

也不能确定您尝试解决的问题,但如果您正在尝试调整DropDownHeight的高度,可以在下面实现。

private void UpdateDropDownHeight()
{
    int dropDownHeight = 0;
    for (int i = 0; i <= comboBox1.Items.Count; i++)
    {
        dropDownHeight = dropDownHeight + (comboBox1.ItemHeight);
    }
    comboBox1.DropDownHeight = dropDownHeight;
    textBox1.Text = comboBox1.DropDownHeight.ToString();
}