0

私は学校のプロジェクトに取り組んでいますが、現時点では立ち往生しています。数値の上下の値に依存するコンボボックスをフローレイアウトパネルに動的に追加したいと考えています。

したがって、数値の上下の値が 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 を使用します (配列のカウントを 1 番目の要素ではなく 0 番目の要素から開始します)。for (int i = 0 ....)

第 3 に、ComboBox の配列が本当に必要ですか、それとも保存せずに追加できますか?

これにより、正しい方向に進むはずです。

于 2013-03-29T15:22:41.097 に答える