2013-02-21 19 views
9

これはn00bishと思われますが、残念ですが、数日間は検索しています。私は動的にチェックボックスをWindowsフォームに追加しようとしています。ただし、フォームにチェックボックスが1つしか表示されません。ここに私のコードはあります: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

試しのようなもの、私は唯一の1つのピクセル – Benny

答えて

15

実際には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); 
} 
+0

によって各ボックスにシフトする10 +の代わりに50を*作るためにあなたのイベントを行うことができます'CheckBox box = new CheckBox();'の代わりにループ内で 'box = new CheckBox();'を使うだけで、他の答えと混乱してしまったので、OPへのメモだけで動作します。 – NominSim

+0

すみません、ありがとうございました!問題は、チェックボックス間の垂直距離が小さ過ぎて、forループ内にチェックボックスが作成されなかったことです。 – cruskai239

+0

@NominSimはい私は知っている。それは私が私の答えから言った理由です。 – spajce

0

動的に送信ボタンのようないくつかの他のアクションで、checkbox.checkedプロパティをachiveする方法Nameプロパティを割り当てるの助けを借りて。どのように私はすべてのチェックボックスがチェックされ、ループで作成されて得ることができますか?

0

あなたはすべてのボタンからインスタンスを持っている場合は、あなたのボタンや

CheckBox myCheckedBox = (CheckBox)sender; 
関連する問題