PDA

View Full Version : غیر فعال کردن یکی از TabPage های Tab Control



vzsoft
دوشنبه 06 تیر 1384, 19:24 عصر
سلام

من از یه Tab Control که شامل دو تا TabPage هست استفاده میکنم
و میخوام یکی از اونا رو غیر فعال کنم جوری وقتی روش کلیک میکنیم Page خودشو نشون نده

توضیح بیشتر :
در شرایط فعلی وقتی یکی از TabPage.Enable=False میکنیم فقط کنترل های داخل Page غیر فعال میشن من میخواستم خودش غیر فعال بشه و Page نشون نده


با تشکر

sajjad etemadfar
شنبه 28 خرداد 1390, 17:21 عصر
فکر کنم باید خاصیت Visable رو غیر فعال کنید

redflight
پنج شنبه 07 شهریور 1392, 15:21 عصر
سلام
من می خواستم در Tabcontrol م وقتی روی tab1 هستم نتوانم تب های دیگه رو ببینم یا حالا اگه تونستم هم ببینم نتوانم داخلش چیزی بنویسم مگر اینکه روی دکمه باتن ای که روی تب 1 گذاشته ام بزنم و تب بعدی فعال بشه!
من چکار کنم؟؟
در ضمن کسی می تونه کد زیر را برایم توضیح بدهد؟؟ http://stackoverflow.com/questions/9087807/is-there-a-way-to-disable-a-tabpage-inside-a-tabcontrol
public partial class Form1 : Form { public Form1() { InitializeComponent(); //Disable tabPage2 this.tabPage2.Enabled = false; // no casting required. this.tabControl1.Selecting += new TabControlCancelEventHandler(tabControl1_Selecting ); this.tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed; this.tabControl1.DrawItem += new DrawItemEventHandler(DisableTab_DrawItem); } private void DisableTab_DrawItem(object sender, DrawItemEventArgs e) { TabControl tabControl = sender as TabControl; TabPage page = tabControl.TabPages[e.Index]; if (!page.Enabled) { //Draws disabled tab using (SolidBrush brush = new SolidBrush(SystemColors.GrayText)) { e.Graphics.DrawString(page.Text, page.Font, brush, e.Bounds.X + 3, e.Bounds.Y + 3); } } else { // Draws normal tab using (SolidBrush brush = new SolidBrush(page.ForeColor)) { e.Graphics.DrawString(page.Text, page.Font, brush, e.Bounds.X + 3, e.Bounds.Y + 3); } } } private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) { //Cancels click on disabled tab. if (!e.TabPage.Enabled) e.Cancel = true; } }]

lastmory
جمعه 08 شهریور 1392, 12:03 عصر
با سلام
این مساله رو منم داشتم اما نتونستم کاری انجام بدم ، یهنی تبها نه خاصیت Visible دارن نه خاصیت Enabled
اما فکر کنم میشه یه کاری کرد که حداقل نتونن محتویات تب رو ببینن ، مثلا میتونی کنترلهاتو توی یه پنل بزاری و با خاصیت Visible و خاصیت Enabled ، خود پنل بازی کنی وقتی رو تب مورد نظر کلیک کرد کاربر

موفق باشی

redflight
جمعه 08 شهریور 1392, 21:12 عصر
با سلام
این مساله رو منم داشتم اما نتونستم کاری انجام بدم ، یهنی تبها نه خاصیت Visible دارن نه خاصیت Enabled
اما فکر کنم میشه یه کاری کرد که حداقل نتونن محتویات تب رو ببینن ، مثلا میتونی کنترلهاتو توی یه پنل بزاری و با خاصیت Visible و خاصیت Enabled ، خود پنل بازی کنی وقتی رو تب مورد نظر کلیک کرد کاربر

موفق باشی
درسته

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

younes221
یک شنبه 10 شهریور 1392, 00:57 صبح
سلام ؛

TabItem های کنترل SuperTabControl از بسته کامپوننت های Dotnetbar این ویژگی - Enabled - رو دارن

آموزش این بسته رو هم می تونید از همین تالار گیر بیارین.

FastCode
یک شنبه 10 شهریور 1392, 05:01 صبح
بعضی وقتها اینقدر با اطمینان یک حرفی رو میزنید که به خودم شک میکنم.
TabControl.TabPages.Remove

lastmory
یک شنبه 10 شهریور 1392, 09:31 صبح
بعضی وقتها اینقدر با اطمینان یک حرفی رو میزنید که به خودم شک میکنم.
TabControl.TabPages.Remove

با سلام
دوست عزیز مشکل که حذف نبود ، مشکل Enabled و Visible بود

FastCode
یک شنبه 10 شهریور 1392, 11:48 صبح
با سلام
دوست عزیز مشکل که حذف نبود ، مشکل Enabled و Visible بود
یعنی الان سرم رو بزنم به دیوار؟
وقتی نمیخواهی ببینیش Remove میکنی.وقتی میخواهی برگرده Add میکنی.

lastmory
یک شنبه 10 شهریور 1392, 13:04 عصر
یعنی الان سرم رو بزنم به دیوار؟

نه نزن ، راست میگی :لبخند:
TabControl1.TabPages.Remove(TabPage1)
TabControl1.TabPages.Add(TabPage1)

ali.rk
یک شنبه 10 شهریور 1392, 14:13 عصر
بهتر نیست بنویسید وقتی page2 رو انتخاب کرده بیاد به page1 بعد بالا ارور بنویسه نمیشه به تب اولی دسترسی پیدا کنید .
(اگه از remove و add استفاده کنیم اشیای داخل page از بین نمیره ؟)

FastCode
یک شنبه 10 شهریور 1392, 14:52 عصر
بهتر نیست بنویسید وقتی page2 رو انتخاب کرده بیاد به page1 بعد بالا ارور بنویسه نمیشه به تب اولی دسترسی پیدا کنید .
(اگه از remove و add استفاده کنیم اشیای داخل page از بین نمیره ؟)
اول آزمایش کن.اگر از بین رفت بعد بیا بگو از بین رفت راه حلش چیه.
و نه.از بین نمیرن.

ali.rk
یک شنبه 10 شهریور 1392, 16:07 عصر
اول آزمایش کن.اگر از بین رفت بعد بیا بگو از بین رفت راه حلش چیه.
و نه.از بین نمیرن.

اول آزمایش کن.اگر از بین رفت بعد زر بزن

منظورت اینه نه : :شیطان: ... خب چیکارکنیم ما تازه کاریم

FastCode
یک شنبه 10 شهریور 1392, 19:04 عصر
مطمئن باش اگر منظورم این بود همین رو میگفتم.

ali.rk
یک شنبه 10 شهریور 1392, 19:28 عصر
دمت گرم داداش

h.gheidrlou
چهارشنبه 30 اردیبهشت 1394, 20:09 عصر
سلام
من فرم فهرست دارم که با زدن هر Bottuneمیخوام فرم دوم باز بشه
فرم دوم حاوی یک Tabcontrol هستش که چندتا page داره میخوام در فرم اول اگر دکمه 1 را زدم page 1 باز بشه و به همین ترتیب با زدن دکمه 2 در فرم اول با لود شدن فرم دوم page 2 باز بشه
لطفا راهنمایی کنید
کد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Sheida.love
یک شنبه 18 اسفند 1398, 14:05 عصر
میشه یکی بگه کدهای غیرفعال کردن tab page رو کجا بنویسم

پرستو پارسایی
یک شنبه 18 اسفند 1398, 15:09 عصر
با سلام من هم همین مشکل رو داشتم و با این روش ساده مشکلم حل شد و برای اینکه کاربرم نتونه بین تب ها با کلید های Arrow جابجا بشه کلید های ذکر شده رو هنگام لود برنامه غیر فعال و در close form فعال کردم شاید برای شما هم مناسب باشه

Me.tabControl1.TabPages(3).Hide()

Sheida.love
یک شنبه 18 اسفند 1398, 16:34 عصر
این کد ارور میده

پرستو پارسایی
یک شنبه 18 اسفند 1398, 20:36 عصر
این یک خط کد ارور میده یعنی مقادیر رو درست انتخاب نکردید روی ایندکس تب کنترل دقت کنید.