チェックボックスがlinqによって選択されているかどうかを検証できることがわかりました。
私は次のようなコードを手に入れました
btnAgree.Enabled = (from chkbox in Controls.OfType<CheckBox>() select chkbox).Count(b => b.Checked) >= 2;
しかし、私のシナリオは、勝利フォームに多くのチェックボックスがあるようなものですが、グループボックス内のチェックボックスがLINQによって選択されている場合はチェックボックスをオンにします。それは可能ですか、しかし私はまだ方法を見つけられませんでした。コードを手伝ってください。
私は少し似ている小さなコードを手に入れました。次のようなコード
public static IEnumerable<T> AllControls<T>(this Control startingPoint) where T : Control
{
bool hit = startingPoint is T;
if (hit)
{
yield return startingPoint as T;
}
foreach (var child in startingPoint.Controls.Cast<Control>())
{
foreach (var item in AllControls<T>(child))
{
yield return item;
}
}
}
var checkboxes = control.AllControls<CheckBox>();
var checkedBoxes = control.AllControls<CheckBox>().Where(c => c.Checked);
しかし、このコードをカスタマイズして、すべてのチェックボックスが配置されているグループボックスで機能するようにする方法。ご案内ください。もう1つの問題は、c#v2.0を使用していることです。ありがとう