PDA

View Full Version : مشکل با رادیو باتن



hamidtmu
چهارشنبه 05 دی 1397, 21:16 عصر
سلام.یه ازمون دارم که وقتی تمام میشه و کاربر دیگه میخاد جواب بده صفر نمیشه.
میخام بدون چیکار کنم که یک فرم چه طوری صفر کنم .
توی کراس تب و تو یک فرم درست شده


منظورم اینکه که کلیه رادیو باتن های یک فرم که در چند تب هستند صفر شوند.و کاربر جدید بتونه آزمون بده

silver189
پنج شنبه 06 دی 1397, 08:35 صبح
سلام ، متد زیر رو به فرم تون اضافه کنید :


public static void ClearRadio(Control root)
{
foreach (Control control in root.Controls)
{
Clear(control);
if (control is RadioButton)
{
RadioButton rdbtn = (RadioButton)control;
rdbtn.Checked = false;
}
}
}

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

danialafshari
پنج شنبه 06 دی 1397, 13:31 عصر
foreach (RadioButton radioButton in Controls.OfType<RadioButton>())
radioButton.Checked = false;

hamidtmu
پنج شنبه 06 دی 1397, 17:24 عصر
سلام دوست عزیز . خیلی سپاس گزارم از شما که کمک کردید. من نیو فرم گزاشتم همه پاک شدند. نظراتتون خیلی کمک کننده بود ممنون که وقت گذاشتید. این مطالبو همه را یادداشت می کنم و ازش استفاده می کنم:لبخندساده:. تشکر فراوان

hamidtmu
جمعه 07 دی 1397, 01:42 صبح
سلام ، متد زیر رو به فرم تون اضافه کنید :


public static void ClearRadio(Control root)
{
foreach (Control control in root.Controls)
{
Clear(control);
if (control is RadioButton)
{
RadioButton rdbtn = (RadioButton)control;
rdbtn.Checked = false;
}
}
}

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

من میخام توی فرم لود بزارم میشه بفرمایید چجوری فراخوانیش کنم. حقیقتا مبتدی هستم. ممنون میشم کمک کنید. من راهی که خودم رفتم با مشکلات زیادی روبرو شدم فکر می کنم راه شما خیلی بهتره. یه نکته هم اینکه من رادیو باتن ها را در کنترل تب و در چندین تب گزاشتم داخل یک فرم ایا با این کار رادیو باتن ها از حالت انتخاب خارج می شوند؟

hamidtmu
جمعه 07 دی 1397, 01:43 صبح
foreach (RadioButton radioButton in Controls.OfType<RadioButton>())
radioButton.Checked = false;



من این کدو توی فرم لودم گزاشتم ولی زیر رادیو باتن زیر خط قرمز کشید
radioButton.Checked = false;

danialafshari
جمعه 07 دی 1397, 13:46 عصر
من این کدو توی فرم لودم گزاشتم ولی زیر رادیو باتن زیر خط قرمز کشید
radioButton.Checked = false;
من چک کردم مشکلی نداشت
از کد زیر هم میتونید استفاده کنید :

foreach (Control control in tabPage1.Controls)
{
if (control is RadioButton)
{
RadioButton rb = control as RadioButton;
rb.Checked = false;
}
}

یا

foreach (RadioButton radioButton in tabPage1.Controls.OfType<RadioButton>())
radioButton.Checked = false;

برای استفاده از کد دوستمون کافیه متد رو فراخوانی کنید

public static void ClearRadio(Control root)
{
foreach (Control control in root.Controls)
{
//Clear(control);
if (control is RadioButton)
{
RadioButton rdbtn = (RadioButton)control;
rdbtn.Checked = false;
}
}
}


private void button1_Click(object sender, EventArgs e)
{
ClearRadio(tabPage1);
}

نکته
بجای tabPage1 نام آبجکت خودتون رو بنویسید

hamidtmu
جمعه 07 دی 1397, 14:08 عصر
سلام ، متد زیر رو به فرم تون اضافه کنید :


public static void ClearRadio(Control root)
{
foreach (Control control in root.Controls)
{
Clear(control);
if (control is RadioButton)
{
RadioButton rdbtn = (RadioButton)control;
rdbtn.Checked = false;
}
}
}

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

اینو کنترل روت چیه؟ چه جوری فراخوانی کنم. خواشا کسی سر دیر میاره بهم بگه

hamidtmu
جمعه 07 دی 1397, 14:12 عصر
foreach (RadioButton radioButton in Controls.OfType<RadioButton>())
radioButton.Checked = false;


آیا این یک متده؟
خوهشا موقع راهنمایی یکم مرحمت بیشتری بفرمایید .

alexmcse
جمعه 07 دی 1397, 14:12 عصر
من این کدو توی فرم لودم گزاشتم ولی زیر رادیو باتن زیر خط قرمز کشید
radioButton.Checked = false;

تست کردم مشکلی پیش نیومد با کد آقای افشاری

private void Form5_Load(object sender, EventArgs e) {
foreach (RadioButton radioButton in Controls.OfType<RadioButton>())
radioButton.Checked = false ;
}

hamidtmu
شنبه 08 دی 1397, 13:41 عصر
ممنون هم کد اولی پست شماره 7 کار کرد. تشکر دوست عزیز.البته بقیه رو تست نکردم. تشکر از دوستان دیگه