次の目標でWindowsフォームアプリを作成しています。
ユーザーから(列挙されたリストから)一意の名前とカテゴリを持つ製品のリストを取得します(その後、いくつかのことを行いますが、これは質問とは関係ありません)。
テキストボックスに値を入力して、「n」個の製品を構成することをユーザーに指定してもらいたいという考えです。変数をこの値nに設定するメソッドを呼び出すテキストボックスのイベントハンドラーがあります。この値「n」は、ループカウンター、または何を持っているかとして使用されます。要点は、作成するボックスの数の境界を作成することです。
次に、(動的にnに基づいて)n個の(テキストボックス/コンボボックス)ペアをフォームに追加します。最後に作成したペアの下に別の(テキストボックス/コンボボックス)ペアを追加する余地がない場合は、別の列を作成する必要があります。
nには限りがありませんが、現実的には20を超えることはないでしょう。とにかく、これ以上の商品があれば対応できるようにしたいと思います。
コンボボックスのオプションは、実行時に渡される文字列リストから入力されますが、このフォームアプリケーションのインスタンスごとに、ボックスごとに一貫性があります。
モックアップ画像を入力しようとしましたが、評判ポイントを獲得するまでスタックオーバーフローが発生しません:(
以下のコードのようなものを使用していくつかのボックスを作成する方法を理解していますが、それは私が固執しているより細かい点です。誰か助けてもらえますか?
ありがとう!
` private void Method1()
{
int boxes = Int32.Parse(NumProducts.Text);
for (int i = 0; i < boxes; i++)
{
TextBox tb = new TextBox();
tb.Location = new System.Drawing.Point(40, i * 20);
tb.Name = "TextBoxName" + i.ToString();
tb.Size = new System.Drawing.Size(184, 20);
tb.TabIndex = i + 2;
tb.Text = String.Empty;
panel1.Controls.Add(tb);
}
}
private void NumProducts_TextChanged(object sender, EventArgs e)
{
Method1();
}`