C# 使用单击事件添加项目时,ComboBox.MaxDopDownItems不起作用

C# 使用单击事件添加项目时,ComboBox.MaxDopDownItems不起作用,c#,winforms,combobox,onclick,C#,Winforms,Combobox,Onclick,我正在使用单击事件用列表填充组合框项目。已填充MaxDropDownItems时,MaxDropDownItems不起作用。有人知道怎么修这个吗 代码如下: List<string> list = new List<string>(); ComboBox cb; private void button1_Click(object sender, EventArgs e) { cb = new ComboBox();

我正在使用单击事件用列表填充组合框项目。已填充MaxDropDownItems时,MaxDropDownItems不起作用。有人知道怎么修这个吗

代码如下:

    List<string> list = new List<string>();
    ComboBox cb;
    private void button1_Click(object sender, EventArgs e)
    {
       cb = new ComboBox();

        cb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
        cb.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
        cb.FormattingEnabled = true;
        cb.Size = new System.Drawing.Size(94, 21);
        cb.MaxDropDownItems = 5;
        cb.Click +=new EventHandler(cb_Click);

        this.Controls.Add(cb);
    }

    private void cb_Click(object sender, EventArgs e) 
    {
        foreach (string str in list)
        {
            cb.Items.Add(str);
        }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        list.Add("1");list.Add("2");list.Add("3");
        list.Add("4");list.Add("5");list.Add("6");
        list.Add("7");
    }
List List=新列表();
组合框cb;
私有无效按钮1\u单击(对象发送者,事件参数e)
{
cb=新组合框();
cb.DropDownStyle=System.Windows.Forms.ComboBoxStyle.DropDownList;
cb.FlatStyle=System.Windows.Forms.FlatStyle.Popup;
cb.FormattingEnabled=true;
cb.尺寸=新系统图纸尺寸(94,21);
cb.MaxDropDownItems=5;
cb.Click+=新事件处理程序(cb_Click);
this.Controls.Add(cb);
}
私有无效cb_单击(对象发送者,事件参数e)
{
foreach(列表中的字符串str)
{
cb.项目添加(str);
}
}
私有void Form1\u加载(对象发送方、事件参数e)
{
列表。添加(“1”);列表。添加(“2”);列表。添加(“3”);
列表。添加(“4”);列表。添加(“5”);列表。添加(“6”);
列表。添加(“7”);
}
MaxDropDownItems设置为5,因此组合框应至少只显示5项:

设置控件时,需要将设置为
false
(默认为
true
)。从MSDN:

当此属性设置为true时 控件自动调整大小为 确保某个项目未被部分删除 显示。如果你想保持 组合框的原始大小基于 表格的空间要求, 将此属性设置为false

在将组合框添加到
控件
集合之前添加此行:

cb.IntegralHeight = false;