1 ضمیمه
بررسی رادیو باتن های چک دار
ضمیمه 154759
من یک پنل دارم
که داخلش چندتا گروپ باکس وجود داره
داخل هر گروپ باکس تعدادی دیگه گروپ باکس وجود داره
که داخل هر کدوم دوتا رادیو باتن وجود داره
من میخوام چک کنه
اگه یکیشون تیک خورده هردو رادیو باتن سبز بشن
اگه هیچکدوم تیک نخوردن
هر دوتا رادیو باتن قرمز بشن
اینم کدم هست
اما مشکل اینجاست وقتی یکی تیک میخوره کل اون گروپ باکس رادیو باتن هاش سبز میشن
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;
}
}
}
}
نقل قول: بررسی رادیو باتن های چک دار
foreach (GroupBox groupBox in panel1.Controls.OfType<GroupBox>())
{
foreach (GroupBox groupBox2 in groupBox.Controls.OfType<GroupBox>())
{
var radioButtons = groupBox2.Controls.OfType<RadioButton>().ToList();
// حداقل یکی از رادیو باتنها چک شده است، هر دو را سبز کنید
if (radioButtons[0].Checked || radioButtons[1].Checked)
{
radioButtons[0].ForeColor = Color.Green;
radioButtons[1].ForeColor = Color.Green;
}
else // هیچکدوم از رادیو باتنها چک نشدهاند، هر دو را قرمز کنید
{
radioButtons[0].ForeColor = Color.Red;
radioButtons[1].ForeColor = Color.Red;
}
}
}
نقل قول: بررسی رادیو باتن های چک دار
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
foreach (GroupBox groupBox in panel1.Controls.OfType<GroupBox>())
{
foreach (GroupBox groupBox2 in groupBox.Controls.OfType<GroupBox>())
{
var radioButtons = groupBox2.Controls.OfType<RadioButton>();
// حداقل یکی از رادیو باتنها چک شده است، هر دو را سبز کنید
if (radioButtons[0].Checked || radioButtons[1].Checked)
{
radioButtons[0].ForeColor = Color.Green;
radioButtons[1].ForeColor = Color.Green;
}
else // هیچکدوم از رادیو باتنها چک نشدهاند، هر دو را قرمز کنید
{
radioButtons[0].ForeColor = Color.Red;
radioButtons[1].ForeColor = Color.Red;
}
}
}
دوست عزیز زیز
radioButtons[0] و همچنینradioButtons[1]
خط قرمز می کشه و شناسایی نمیشه متاسفانه
نقل قول: بررسی رادیو باتن های چک دار
خط۵ متد tolist را فراخوانی کنید. کد را اصلاح کردم
نقل قول: بررسی رادیو باتن های چک دار
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
foreach (GroupBox groupBox in panel1.Controls.OfType<GroupBox>())
{
foreach (GroupBox groupBox2 in groupBox.Controls.OfType<GroupBox>())
{
var radioButtons = groupBox2.Controls.OfType<RadioButton>().ToList();
// حداقل یکی از رادیو باتنها چک شده است، هر دو را سبز کنید
if (radioButtons[0].Checked || radioButtons[1].Checked)
{
radioButtons[0].ForeColor = Color.Green;
radioButtons[1].ForeColor = Color.Green;
}
else // هیچکدوم از رادیو باتنها چک نشدهاند، هر دو را قرمز کنید
{
radioButtons[0].ForeColor = Color.Red;
radioButtons[1].ForeColor = Color.Red;
}
}
}
درود استاد عزیز بسیار عالی بود ممنونم