foreach (RadioButton radioButton in Form1.Controls.OfType<RadioButton>())
radioButton.Checked = false;
با سلام دوستان می خوام تمام رادیو باتن های یک فرم پاک بشن.کدم بالا را کمک گرفتم ولی زیر فرم 1 خط قرمز می کشه و خطا میده.چه باید کرد.
foreach (RadioButton radioButton in Form1.Controls.OfType<RadioButton>())
radioButton.Checked = false;
با سلام دوستان می خوام تمام رادیو باتن های یک فرم پاک بشن.کدم بالا را کمک گرفتم ولی زیر فرم 1 خط قرمز می کشه و خطا میده.چه باید کرد.
با سلام
یا برش دارید یا بجاش از this استفاده کنید
لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
قوانین پرسش های دانشجویی
برای درست وارد شدن کد در قالب C# سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C# منتفل کنید
نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها
سلام
این متد رو فراخوانی کنید
public List<T> GetAll<T>(Control control)
{
var controls = control.Controls.Cast<Control>().ToList();
var result = controls.Where(x => x.GetType() == typeof(T)).Cast<T>().ToList();
controls.ForEach(c => result.AddRange(GetAll<T>(c)));
return result;
}
خروجی این متد ، یک لیست از شی مورد نظر شما می باشد (در اینجا RadioButton) که با یک حلقه قادر به تغییر آنها خواهید بود ، به این صورت
foreach (var radioButton in GetAll<RadioButton>(this))
{
//مثال
radioButton.Text = @"XYZ";
}
قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]
استاد اشتیانی یه عرض کوچک
من از همون کد برای خالی نبودن تکس باکس استفاده کردم میخام در صورت خالی نبودن هر کدام از تکس باکس ها پیغام اوکی را بده ولی اگه یه دونه هم پر باشه این پیغامو میدهد . لطفا مساعدت بفرمایید
foreach (var TextBox in GetAll<TextBox>(this))
{
if (TextBox.Text == (""))
{
MessageBox.Show("NOOO");
}
else
{
MessageBox.Show("ok");
}
دوست عزیز دیگه نیازی به اون حلقه نداری، به این شکل میتونی بررسی کنی که آیا همه تکست باکس ها پر شدن یا نه؟var textBoxesList = GetAll<TextBox>(this);
bool allFilled = textBoxesList.All(a => !string.IsNullOrEmpty(a.Text));
if(allFilled)
MessageBox.Show("ok");
else
MessageBox.Show("NOOOOO");