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;
}
}
}
}