14

これがn00bishのように思われる場合は申し訳ありませんが、私はこれを数日間探しています。Windowsフォームにチェックボックスを動的に追加しようとしています。ただし、フォームに表示されるチェックボックスは1つだけです。これが私のコードです:

for (int i = 0; i < 10; i++)
{
    box = new CheckBox();
    box.Tag = i.ToString();
    box.Text = "a";
    box.AutoSize = true;
    box.Location = new Point(10, i + 10);
    Main.Controls.Add(box);
}

ご覧のとおり、forループを介してチェックボックスを追加しています。場所をいじって、どういうわけか重複している場合に備えて自動サイズ設定を有効にしてみました。結果は、テキスト「a」の単一のチェックボックスです。

4

3 に答える 3

20

実際、あなたはすでに作成しましたCheckBoxが、同じポイント内にあります。

CheckBox box;
for (int i = 0; i < 10; i++)
{
    box = new CheckBox();
    box.Tag = i.ToString();
    box.Text = "a";
    box.AutoSize = true;
    box.Location = new Point(10, i * 50); //vertical
    //box.Location = new Point(i * 50, 10); //horizontal
    this.Controls.Add(box);
}
于 2013-02-21T15:04:50.027 に答える
1

この場合、Nameプロパティを動的に割り当てて、checkbox.checkedプロパティを達成する方法を、送信ボタンなどの他のアクションで使用します。すべてのチェックボックスがオンになっていて、ループで作成されるようにするにはどうすればよいですか?

于 2015-04-09T06:54:25.607 に答える
0

すべてのボタンのインスタンスがある場合は、ボタンまたはイベントを使用して次のようなものを作成できます。

 CheckBox myCheckedBox = (CheckBox)sender;
于 2016-11-10T04:04:58.677 に答える