2011-06-22 14 views
0

グループボックス内のチェックボックスがチェックされていない場合にのみ警告が表示されます。これは私が今使っているものです:コントロールのグループを確認しながら変数の使用量を減らす

foreach(CheckBox i in groupBox_productType.Controls) { 
    if(i.Checked){ 
     isChecked = true; 
     break; 
    } 
} 

if(!isChecked) { /* warning goes here */ } 

を1回の使用変数(isChecked)を作成することなく、私が欲しいものを行う方法はありますか?あなたが行うことができ

答えて

2

if(!group_Box.productType.Controls.OfType<CheckBox>().Any(c => c.Checked)) 
{ 
... 
} 

この意志も、最初の「真」の値に短絡、あなたの休憩と同じ。

編集:コメントごとにチェックボックスのタイプにキャストされます。

+0

これは可能ですか? –

2

ような何か:

if (!groupBox_productType.Controls.OfType<CheckBox>().Any(checkBox => checkBox.Checked)) 
{ 
    //Warning goes here. 
} 

ことが確認されているタイプのチェックボックスのことで、グループ内のコントロールのいずれかに一致するものを見つけてどれがすぐに解除されます。

+0

チェックボックスがあれば警告が表示されませんが、私は彼はそれがないときに表示したいと思った? –

+0

が必要です!最初に、そうでなければ動作します – Andrew

+0

あなたは正しいです、私は否定を逃した。今編集中。 – DaveShaw

関連する問題