0

我正在为学校做一个项目,但我现在被困住了。我想动态地将组合框添加到我的 flowlayoutpanel 中,这取决于上下数字的值。

因此,如果数字上下值是 2,则动态制作 2 个组合框,但我真的不知道如何做到这一点,这就是我的想法。

public partial class ...Form: Form
{
    ComboBox[] cbChoices;

    private void nudGuests_ValueChanged(object sender, EventArgs e)
    {
        flowPanel.Controls.Clear();

        for (int i = 1; i < nudGuests.Value; i++)
        {
            cbChoices[i] = new ComboBox();
            flowPanel.Controls.Add(cbChoices[i]);
        }
    }
 }

但我似乎无法让它工作。

4

1 回答 1

0

这里有几个问题。

首先,您的 cbChoices 数组未初始化,因此 `cbChoices = new ComboBoxnudGuests.Value;

其次,C# 使用 0-indexing(从第 0 个元素而不是第 1 个元素开始计算数组),所以使用for (int i = 0 ....)

第三,您真的需要 ComboBox 数组,还是可以只添加它们而不存储它们?

这应该为您指明正确的方向。

于 2013-03-29T15:22:41.097 回答