2017-06-28 10 views
-2

私は動的にチェックボックスを作成しました。私には「Select All」というオプションがあります。 C#で動的に作成されたチェックボックスをすべて選択するにはどうすればよいですか?C#で動的に作成されたコントロールにアクセスするには?

作成されたすべての動的チェックボックスを選択するにはどうすればよいですか?

groupBox.Controls.Add(checkBox); 

var checkBoxes = this.Controls.OfType<CheckBox>(); 
checkBoxes.ToList()?.ForEach(x=>x.Checked = true); 

をしかし、一般的に、あなたは(UX視点から)グループボックス内のチェックボックスのすべてを置く:

protected void chkbox_CheckedChanged(object sender, EventArgs e) 
{ 
    CheckBox chkBtn = new CheckBox(); 
    chkBtn = sender as CheckBox; 
    selectedTypeId.Add(Convert.ToInt16(chkBtn.Name)); 
    foreach(int id in selectedTypeId) 
    { 
     Console.WriteLine(id);  
    } 
} 
+0

ダイナミックに作成されたチェックボックスをリストや配列などに保存しましたか?もしそうでなければ、名前でコントロールを見つけたり、フォームの 'Controls'プロパティを繰り返したりして、他の方法でそれらを探すことができます。 – itsme86

+0

あなたが作成した各 'CheckBox'を' List 'に追加し、それぞれのList(un-)チェックを繰り返します。 – DrNachtschatten

+0

@DrNachtschattenあなたは例を挙げることができますか? –

答えて

1

は、チェックボックスのグローバルリストを宣言します。

List<CheckBox> boxes; 

そして、あなたのプログラムには、それをインスタンス化し始めます。

boxes = new List<CheckBox>(); 

CheckBoxを動的に追加するたびに、リストに追加します。

CheckBox chkBtn = new CheckBox(); 
boxes.Add(chkBtn); 

一度にすべてを確認する場合は、ループを使用してリストを確認してください。

foreach(CheckBox box in boxes) 
    box.Checked = true; 
-1

あなたはそうのようなコントロールのチェックボックスのすべてを取得することができますグループボックスからそれらを入手してください:

var checkBoxes = groupBox.Controls.OfType<CheckBox>(); 
関連する問題