1.jpg


من یک پنل دارم

که داخلش چندتا گروپ باکس وجود داره

داخل هر گروپ باکس تعدادی دیگه گروپ باکس وجود داره
که داخل هر کدوم دوتا رادیو باتن وجود داره

من میخوام چک کنه
اگه یکیشون تیک خورده هردو رادیو باتن سبز بشن
اگه هیچکدوم تیک نخوردن
هر دوتا رادیو باتن قرمز بشن



اینم کدم هست

اما مشکل اینجاست وقتی یکی تیک میخوره کل اون گروپ باکس رادیو باتن هاش سبز میشن



foreach (GroupBox groupBox in panel1.Controls.OfType<GroupBox>()){
bool allUnchecked = true;
foreach (GroupBox groupBox2 in groupBox.Controls.OfType<GroupBox>())
{
RadioButton firstRadioButton = null;
foreach (RadioButton radioButton in groupBox2.Controls.OfType<RadioButton>())
{
if (firstRadioButton == null)
{
firstRadioButton = radioButton;
}
else
{
if (radioButton.Checked)
{
// حداقل یکی از رادیو باتن‌ها چک شده است، هر دو را سبز کنید
firstRadioButton.ForeColor = Color.Green;
radioButton.ForeColor = Color.Green;
allUnchecked = false;
}
}
}
}


if (allUnchecked)
{
foreach (GroupBox groupBox2 in groupBox.Controls.OfType<GroupBox>())
{
foreach (RadioButton radioButton in groupBox2.Controls.OfType<RadioButton>())
{
// هیچکدوم از رادیو باتن‌ها چک نشده‌اند، هر دو را قرمز کنید
radioButton.ForeColor = Color.Red;
}
}
}
}