تیک خوردن و غیرفعال سازی اتومات checkbox
سلام و درود
یک سوال سه تا چک باکس دارم تو برنامه چجوری میشه وقتی که اولین چک باکس تیک خورد ( دو تایی دیگه غیر فعال شن )
یعنی فقط با تیک خوردن چک باکس ( تو این قسمت نباید رو هیچ دکمه ای کلیک کنیم )
اومدم تو فورم لود به شرط گذاشتم که اگر چک باکس اول فعال شد دومی و سومی غیر فعال اما نشد
تو رویداد چک چنج هم همین کارو کردم بازم نشد تو نت هم گشتم اما همین حالت عادی رو توضیح میده راهی هست لطفا کمک کنید
نقل قول: تیک خورن و غیر فعال سازی اتومات چک باکس
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control ctl in checkBox1.Parent.Controls)
{
if (ctl is CheckBox)
{
((CheckBox)ctl).CheckedChanged += checkedChanged;
}
}
}
private void checkedChanged(object sender, EventArgs e)
{
var chk = (CheckBox)sender;
foreach (Control ctl in chk.Parent.Controls)
{
if ((ctl != chk) && (ctl is CheckBox))
{
ctl.Enabled = (chk.Checked == false);
}
}
}
نقل قول: تیک خورن و غیر فعال سازی اتومات چک باکس
نقل قول:
نوشته شده توسط
the king
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control ctl in checkBox1.Parent.Controls)
{
if (ctl is CheckBox)
{
((CheckBox)ctl).CheckedChanged += checkedChanged;
}
}
}
private void checkedChanged(object sender, EventArgs e)
{
var chk = (CheckBox)sender;
foreach (Control ctl in chk.Parent.Controls)
{
if ((ctl != chk) && (ctl is CheckBox))
{
ctl.Enabled = (chk.Checked == false);
}
}
}
ممنون اما یک مشکل هست ببینید من 4 تا چک باکس دارم که هر دوتا باید از هم متفاوت باشن
یعنی وقتی چک باکس اول فعال شد دومی غیر فعال
ولی سومی و چهارمی نباید غیر فعال بشن
وقتی رو سومی زدم چهارمی غیر فعال
خلاصه
این جوری در نظر بگیر 2 گروه چک باکس هر گروه 2 تا داخلشون هست که گروه یک با دوم به هم ارتباط نداشته باشن کد بالا کل چک باکس ها رو غیر فعال می کنه
حل شد ::
برای حل مشکل اومدم بجایی فورم لود از panel استفاده کردم تو برنامه هر چک باکس رو تو پنل گذاشتم و کد قسمت فورم لود رو اونجا نوشتم خلاصه این شکلی حل شد تشکر و ممنون بابت راهنمایی
نقل قول: تیک خوردن و غیرفعال سازی اتومات checkbox
سلام
چرا از Radio Button استفاده نمیکنید؟
نقل قول: تیک خوردن و غیرفعال سازی اتومات checkbox
نقل قول:
نوشته شده توسط
mmbguide
سلام
چرا از Radio Button استفاده نمیکنید؟
سلام
اول برای ظاهر
دوم راستش دوتا نیستن چهار تا چک باکس هست پس زیاد فرق نداره
البته با کد دوستمون در بالا مشکل حل شده
نقل قول: تیک خوردن و غیرفعال سازی اتومات checkbox
به نظرم راه مناسب و استانداردش اینه که یک کلاس از روی ریدیوباتن بسازین و ظاهرش رو تغییر بدین.
و همچنین برای رفتار دوتا با دوتا شون هم باید از groupbox استفاده کنید.
این روش به هیچ کدی برای غیر فعال کردن نیاز نداره چون کار اصلی radiobutton ها همین هست.