PDA

View Full Version : سوال: قفل کردن تب کنترل ها



redflight
پنج شنبه 07 شهریور 1392, 15:27 عصر
سلام
من می خواستم در 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;
}
}

redflight
جمعه 08 شهریور 1392, 14:17 عصر
کسی نمی دونه؟:ناراحت:

remower
جمعه 08 شهریور 1392, 15:01 عصر
دوست عزیز برای غیر فعال کردنش از کد زیر

tabPage2.Enabled = false;

و برای فعال سازیش از کد زیر


tabPage2.Enabled = true;

redflight
جمعه 08 شهریور 1392, 19:34 عصر
دوست عزیز برای غیر فعال کردنش از کد زیر

tabPage2.Enabled = false;

و برای فعال سازیش از کد زیر


tabPage2.Enabled = true;






تب پیج ها enabled ندارن!!! ارور هم می ده برای همین من خیلی گیج شدم
:اشتباه:

shahryari
جمعه 08 شهریور 1392, 19:43 عصر
http://social.msdn.microsoft.com/Forums/windows/en-US/985b41c3-a1de-4744-8875-63262d4c2718/tabcontrol-disableenable-tab-page

remower
جمعه 08 شهریور 1392, 20:31 عصر
تب پیج ها enabled ندارن!!! ارور هم می ده برای همین من خیلی گیج شدم
:اشتباه:

دوست عزیز کد که بهتون دادم کاملا درست می باشد و کار میکند

در هنگام کد نویسی با پیغام خطا مواجه میشوید ولی هنگامی که کد رو به صورت کامل نوشتید پیغام خطا برطرف میشود

این هم سورس اثبات درستی کد (با ویژوال 2010 ) نوشته شده

http://uplod.ir/uzprdpty0dwc/enabled_TabPage.rar.htm

redflight
جمعه 08 شهریور 1392, 21:03 عصر
دوست عزیز کد که بهتون دادم کاملا درست می باشد و کار میکند

در هنگام کد نویسی با پیغام خطا مواجه میشوید ولی هنگامی که کد رو به صورت کامل نوشتید پیغام خطا برطرف میشود

این هم سورس اثبات درستی کد (با ویژوال 2010 ) نوشته شده

http://uplod.ir/uzprdpty0dwc/enabled_TabPage.rar.htm

مرسیی
اما من می خوام کل تب 2 رو نشه باز کرد تا باتن یک در تب 1 رو نزدیم این رو چکار کنم؟

remower
جمعه 08 شهریور 1392, 23:43 عصر
مرسیی
اما من می خوام کل تب 2 رو نشه باز کرد تا باتن یک در تب 1 رو نزدیم این رو چکار کنم؟

بفرمایید دوست من

اینم کد پنهان کردن تب پیج
tabControl1.TabPages.Remove(tabPage2);

و اینم کد نمایش تب پیج
tabControl1.TabPages.Add(tabPage2);

براتون سورس هم گذاشتم برای یادگیری بهتر از لینک زیر دانلود کن
http://uplod.ir/h767cxpw8vjt/Hide_show_TabPage.rar.htm

redflight
شنبه 09 شهریور 1392, 22:26 عصر
مرسیییییییییییییییییییییی یییییییییییییییییی