PDA

View Full Version : اعمال هم زمان تغییرات در آیتم های یک فرم



mahdi68
دوشنبه 21 تیر 1389, 13:14 عصر
سلام
چجوری میشه تو یک فرم تمام آیتم های موجود هم زمان فعال یا غیر فعال کرد ؟؟؟ یا همزمان متن اونها عوض کرد ؟؟؟
متشکرم

hossein_ignore
دوشنبه 21 تیر 1389, 13:25 عصر
یه نمونه کوچیک:

mahdi68
دوشنبه 21 تیر 1389, 19:25 عصر
من تو فرم چند تا buttun دارم که یکیشو هنگام اجرای برنامه با یک رویداد کلیک غیر فعال میکنم حالا وقتی این کد اجرا میکنم هیچ تغییری ایجاد نمیشه و اون کلید فعال نمیشه !!!

private void شروعمجددToolStripMenuItem_Click_1(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
c.Enabled = true;
}
}

ولی وقتی اینو مینویسم کار میکنه و همه غیر فعال میشن

c.Enabled = false;
میشه راهنماییم کنید که مشکل از کجاست ؟؟؟

mmd2009
دوشنبه 21 تیر 1389, 19:50 عصر
با سلام

امیدوارم منظورتون رو درست متوجه شده باشم

یک نمونه کد براتون اماده کردم ببینید شاید مشکلتون حل شد

mahdi68
دوشنبه 21 تیر 1389, 20:33 عصر
بازم مشکلم حل نشد !!!
این کد ببینید :

private void شروعمجددToolStripMenuItem_Click(object sender, EventArgs e)
{
button1.Text = "hello";
button1.Enabled = true;
foreach (Control c in this.Controls)
{
if (c.GetType() == typeof(Button))
{
Button T = (Button)c;
T.Enabled = true;
}
}
}
حالا این عکس ها ببینید مبینید که تو عکس اول همه غیر فعال هستند که باید فعال بشن و لی فقط یکی فعال میشه !!!

mmd2009
دوشنبه 21 تیر 1389, 21:23 عصر
دوست عزیز خب باید کار نکنه چون شما اومدی کنترل در کنترل برنامتو درست کردی

بیا از این کد استفاده بکن مشکلت حل میشه همین کد رو کپی کن تو برنامت




button1.Text = "hello";
button1.Enabled = true;
foreach (Control c in this.Controls)
{
foreach (Control c2 in c.Controls)
{
if (c2.GetType() == typeof(Button))
{
c.Enabled = false;
}
}
}

Masoome_das
سه شنبه 22 تیر 1389, 00:18 صبح
سلام من برای شما یک پیشنهاد ساده دارم اگر می خواهید گروهی از کنترل هایتان به صورت همزمان فعال و غیر فعال شود این کنترل ها را درون یک پنل بگذارید و در ایونت مورد نظرتان Enable مربوط به پنل را True یا False کنید نیازی هم به این همه کد نیست

mahdi68
سه شنبه 22 تیر 1389, 02:40 صبح
سلام
بازم مشکل حل نشد من عینا کد شما کپی کردم تو برنامه
تو false درست کار میکنه یعنی همه کنترل ها غیر فعال میشن ولی در true درست کار نمیکنه !!!

vandermond
سه شنبه 22 تیر 1389, 09:42 صبح
سلام
بازم مشکل حل نشد من عینا کد شما کپی کردم تو برنامه
تو false درست کار میکنه یعنی همه کنترل ها غیر فعال میشن ولی در true درست کار نمیکنه !!!

چه طور ممكنه غيرفعال كنه و فعال نكنه؟ باز هم فقط يكي رو فعال ميكنه؟
اگه اينطور باشه احتمالا يه جاي ديگه يه كدي داريد كه باز غيرفعالشون كنه. چون هم روشي كه Masoome_das گفته درسته و هم روشي كه mmd2009 گفته.
البته اوني كه mmd2009 گفته هم همونه كه Masoome_das گفته. براي اينكه اون نباشه توي if :




if (c2.GetType() == typeof(Button))
{
c.Enabled = false;
}


به جاي اين چيزي كه mmd2009 نوشته بايد بنويسي:

c2.Enabled = false;
اگه باز هم نشد برنامه تو بزار(اگه خاستي) ...

hossein_ignore
جمعه 25 تیر 1389, 11:03 صبح
این کدایی که تا الان نوشتیو بیخیال شو.
همون GroupBoxeto فعال کن یا غیر فعال کن یعنی همون چیزی که Masoome_das گفت.
اسم اون GroupBoxi که Buttonهارو توش گذاشتی چیه؟
احتمالا همون groupBox1!

groupBox1.Enabled = false;

hossein_ignore
جمعه 25 تیر 1389, 11:10 صبح
اینو ببین! شکلو شمایل برنامه ی خودتو داره