PDA

View Full Version : سوال: غیر فعال کردن tab page



Moh3nonline
شنبه 20 آبان 1391, 17:58 عصر
با سلام من در پروژه ام 5 تا tab page دارم که در هر tab یک سوال چهار گزینه ای نوشتم که هر کاربر فقط 10 ثانیه زمان دارد به سوالات پاسخ دهد که به طور اتوماتیک به tab بعدی برود مشکل من اینجاست که می خواهم به هر tab که می رودtab قبلی غیر فعال شود

black_binary
شنبه 20 آبان 1391, 18:38 عصر
سلام
شاید راه بهتری هم باشه ولی راه حل من:
تو هر tabpage ت یک panel بذار وقتی تایمر page بعدی رو فعال میکنه panel قبلی را غیر فعال کنه کد زیر زمان فعال شدن tabpage2 اجرا میشه

tabPage1.Controls["panel1"].Enabled = false;

mansourm
شنبه 20 آبان 1391, 18:53 عصر
دوست عزیز ایندوتا تابع رو به نرم افزار اضا فه کن




public static void EnableTab(TabPage page, bool enable)
{
EnableControls(page.Controls, enable);
}
private static void EnableControls(Control.ControlCollection ctls, bool enable)
{
foreach (Control ctl in ctls)
{
ctl.Enabled = enable;
EnableControls(ctl.Controls, enable);
}
}



بعدشم برای فراخوانی به صورت زیر عمل کنید این دوخط تب فعلی را غیر فعا و تب جدید را فعال میکند



EnableTab(tabControl1.TabPages[tabControl1.SelectedIndex], false);
EnableTab(tabControl1.TabPages[tabControl1.SelectedIndex + 1], true);