динамически добавлять поля со списком в панель 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]);
        }
    }
 }

но я не могу заставить его работать.


person timouwerkerk    schedule 29.03.2013    source источник


Ответы (1)


Здесь есть несколько проблем.

Во-первых, ваш массив cbChoices не инициализирован, поэтому выполните `cbChoices = new ComboBoxnudGuests.Value;

Во-вторых, C# использует 0-индексацию (начинает считать массивы с 0-го элемента вместо 1-го), поэтому используйте for (int i = 0 ....)

В-третьих, вам действительно нужен массив ComboBox или вы можете просто добавить их, не сохраняя?

Это должно указать вам правильное направление.

person Davio    schedule 29.03.2013