PDA

View Full Version : فعال و غير فعال كردن تب هاي كنترل تب



jmfnima
یک شنبه 13 آذر 1390, 17:23 عصر
با سلام به همه دوستان
من در برنامه خودم از يك كنترل تب استفاده كردم كه داراي سه تا تب هست حال در زماني كه تب اول فعال هست ميخوام تب هاي دوم و سوم غير فعال باشه كه براي اينكار گزينه اي به نام enabled وجود نداره كه اينكار رو انجام بدم . اگه از دوستان كسي ميدونه به من كمك كنه . ممنون

mohammad272005
دوشنبه 14 آذر 1390, 02:30 صبح
enable نمیشه. فقط باید حذف بشه. باید یه لیست بگیری. هر تبی که میخوای بره، از تب کنتری حذف یشه، و به اون لیست انتقال داده بشه. موفق ظاهر شدن هم برعکس

sobaisobai
دوشنبه 14 آذر 1390, 09:22 صبح
با سلام به همه دوستان
من در برنامه خودم از يك كنترل تب استفاده كردم كه داراي سه تا تب هست حال در زماني كه تب اول فعال هست ميخوام تب هاي دوم و سوم غير فعال باشه كه براي اينكار گزينه اي به نام enabled وجود نداره كه اينكار رو انجام بدم . اگه از دوستان كسي ميدونه به من كمك كنه . ممنون
سلام
سرچ میکردی پیدا میشد
(this.tabPage1 as Control).Enabled = false;

jmfnima
سه شنبه 15 آذر 1390, 11:27 صبح
با سلام و تشکر از دوست عزیز sobaisobai
این روشی که شما فرمودید انجام دادم ولی جواب نداد و تب های دیگه غیر فعال نشدن . جالب اینه که خاصیت visibled رو داره ولی خاصیت enabled رو نداره .

sobaisobai
سه شنبه 15 آذر 1390, 12:45 عصر
سلام
کار میکنه

jmfnima
سه شنبه 15 آذر 1390, 15:18 عصر
با سلام و تشکر از شما
این کاری که شما کردید مربوط میشه به فعال و غیر فعال کردن کنترل های موجود روی هر تب پیچ . ولی کاری که من میخواستم اینه که خود تب پیج فعال یا غیر فعال بشه . مثلا ما اگه در یک تب کنترل سه تا تب پیج داشته باشیم بتونیم تب پیج ها رو فعال یا غیر فعال کنیم به طوری که هر موقع که تب پیج غیر فعال باشه و کاربر روی تب پیج کلیک کنه نتونه وارد تب پیج بشه .

sobaisobai
سه شنبه 15 آذر 1390, 15:49 عصر
امکانش نیست
تو MSDN یه مثال بود که وقتی کاربر رو تب پیج کلیک میکرد focus می اومد رو تب پیج فعلی
تنها کاری که میتونی بکنی همینه

RAHA_AVA
سه شنبه 27 تیر 1391, 00:11 صبح
یعنی واقعا نمیشه یه تب پیج و محتویاتشو غیر فعال کرد؟!!!!!

RAHA_AVA
سه شنبه 27 تیر 1391, 00:52 صبح
من خودم تو یه برنامه دیدم تبا غیر فعال بودن تا زمانی که یه دکمه زده نشده بود!!!!!!!این یه نظرم خیلی راحته کسی نیست جواب بده؟!

the king
سه شنبه 27 تیر 1391, 01:03 صبح
من خودم تو یه برنامه دیدم تبا غیر فعال بودن تا زمانی که یه دکمه زده نشده بود!!!!!!!این یه نظرم خیلی راحته کسی نیست جواب بده؟!

با کنترل استاندارد اش در این حد میشه که فرضا فقط تب اول فعال و بقیه غیر فعال باشه :

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (tabControl1.SelectedIndex)
{
case 0:
break;
default:
tabControl1.SelectedIndex = 0;
break;
}
}


اما اگه کنترل غیر استاندارد یا دست ساز باشه یا روی کنترل رو بپوشانید خیلی کارها میشه کرد. یک مثال ساده بزنم، مشخصه Enabled یک PictureBox رو
False کنید و ببرید درست جایی که زبانه های TabControl هست قرار بدهید تا رویش را بپوشونه، زبانه ها کار می کنند و حتی از پشت PictureBox قابل کلیک کردن
هستند اما دیده نمی شوند. میشه خیلی تغییرات گرافیکی در این PictureBox داد که حتی عنوان و رنگ زبانه ها هم نشون بده که غیر فعال اند و ...

RAHA_AVA
سه شنبه 27 تیر 1391, 01:14 صبح
اونی که من دیدم تمام کنترل های تویه تب و خود تب معلوم بود و میشد تب رو هم انتخاب کرد ولی غیر فعال بودن...........با این کد اصلا اجازه انتخاب داده نمیشه چیزی غیر فعال نمیشه!!!!

آخ مگه میشه نشه؟!!!!!!!!!!!!!!!!!!!!

ASKaffash
سه شنبه 27 تیر 1391, 07:07 صبح
سلام
بنظر من درون هر تب یک Panel و آن را DockFill کرده اند و کلیه کنترلها بجای اینکه روی تب باشند روی پانل هستند حال هر وقت پانل فعال و غیر فعال شوند بنظر میرسد که تب قابل انتخاب است ولی همه کنترلهای آن غیر فعال هستند

RAHA_AVA
سه شنبه 27 تیر 1391, 13:38 عصر
یعنی تبم زیره پنله؟چون تبم غیر فعال بود!