PDA

View Full Version : مدیریت tabpageها در tabControl



abcd_a
چهارشنبه 19 مهر 1391, 16:39 عصر
سلام
من در یک فرم چند تا تب پیج دارم که هر تب پیج دارای یکسری ایتم است چطوری می تونم کاری کنم در آن واحد تنها یک تب پیج باز باشه یعنی با کیلک بر روی دکمه اون تب پیجی را که می خوام باز بشه و تب پیجی که باز بسته بشه ؟
با تشکر.

Nima_kyan
چهارشنبه 19 مهر 1391, 17:35 عصر
منظورتون واضح نيست.
خوب حالت معمولش كه يكي از TabPage ها باز هستش..

abcd_a
چهارشنبه 19 مهر 1391, 17:46 عصر
منظورتون واضح نيست.
خوب حالت معمولش كه يكي از TabPage ها باز هستش..
ضمن تشکر
یعنی با کلیک بر روی یک دکمه tabpage که حالا باز است بسته بشه(نه dispose چون شاید دوباره خواستم نمایشش بدم) و یه tabpage دیگه باز بشه
تو سایت جستجو کردم چیزی دستگیرم نشد

harani
چهارشنبه 19 مهر 1391, 17:46 عصر
انتخاب تب یج بوسیله ی ایندکس آن :

tabControl.SelectedIndex = 1

تب پیج دوم انتخاب میشود .

abcd_a
چهارشنبه 19 مهر 1391, 17:59 عصر
انتخاب تب یج بوسیله ی ایندکس آن :

tabControl.SelectedIndex = 1

تب پیج دوم انتخاب میشود .
ببنید می خوام در هر لحظه یک تب پیج در فرم نمایش داده بشه و بقیه مخفی باشه

veniz2008
چهارشنبه 19 مهر 1391, 18:10 عصر
ببنید می خوام در هر لحظه یک تب پیج در فرم نمایش داده بشه و بقیه مخفی باشه
سلام. ببینید دوست عزیز امکان باز بودن دو تب پیج بصورت همزمان وجود نداره. یا ما منظور شما رو درک نمیکنیم یا شما منظورت یه چیز دیگست که هیچکدوم به مقصود نمیرسیم. اگر میخواید با کلیک یه دکمه یه تب پیج خاص باز بشه(خیالت راحت بقیه تب پیج ها بسته نمیشن) از کدی که جناب harani دادن استفاده کن. کد زیر هم براساس نام تب پیج همون کار رو میکنه :


tabControl1.SelectTab("نام تب پیج");

abcd_a
چهارشنبه 19 مهر 1391, 18:15 عصر
سلام. ببینید دوست عزیز امکان باز بودن دو تب پیج بصورت همزمان وجود نداره. یا ما منظور شما رو درک نمیکنیم یا شما منظورت یه چیز دیگست که هیچکدوم به مقصود نمیرسیم. اگر میخواید با کلیک یه دکمه یه تب پیج خاص باز بشه(خیالت راحت بقیه تب پیج ها بسته نمیشن) از کدی که جناب harani دادن استفاده کن. کد زیر هم براساس نام تب پیج همون کار رو میکنه :


tabControl1.SelectTab("نام تب پیج");

ضمن تشکر شاید من منظورم خوب نمی گم
می دونم که در آن واحد دوت تب پیج به صورت همزمان نمایش داده نمیشه
من می خوام بر روی یک دکمه که کلیک می کنم یک تب پیج show بشه و بقیه hide و این روند برای دکمه و تب پیج های دیگه هم برقرار باشه

va2012
چهارشنبه 19 مهر 1391, 19:52 عصر
سلام.

فکر کنم منظور شما اینه که در هر لحظه فقط یک تب نمایش داده بشه و باقی تب ها مخفی بشن. این کار رو میشه با یک حلقه for انجام داد ولی بستگی داره شما از چه نوع کامپوننتی استفاده میکنید. اگر از tabControl خود ویژوال استدیو استفاده میکنید خاصیتی به نام visible برای تک تک تب ها نداره و نمیشه تک تک تب ها رو مخفی کرد (خاصیت فقط برای خود کنترل tabControl تعریف شده) اما اگر از کامپوننت هایی مثل تلریک استفاده کنید این خاصیت برای هر کدوم از سربرگ ها به صورت جداگانه تعریف شده و میتونید در هر لحظه یک تب را نمایش و باقی تب ها رو مخفی کنید.

abcd_a
چهارشنبه 19 مهر 1391, 20:05 عصر
سلام.

فکر کنم منظور شما اینه که در هر لحظه فقط یک تب نمایش داده بشه و باقی تب ها مخفی بشن. این کار رو میشه با یک حلقه for انجام داد ولی بستگی داره شما از چه نوع کامپوننتی استفاده میکنید. اگر از tabControl خود ویژوال استدیو استفاده میکنید خاصیتی به نام visible برای تک تک تب ها نداره و نمیشه تک تک تب ها رو مخفی کرد (خاصیت فقط برای خود کنترل tabControl تعریف شده) اما اگر از کامپوننت هایی مثل تلریک استفاده کنید این خاصیت برای هر کدوم از سربرگ ها به صورت جداگانه تعریف شده و میتونید در هر لحظه یک تب را نمایش و باقی تب ها رو مخفی کنید.
درست دوست عزیز منظور من همین بود با تب کنترل ویژوال استادیو هر کاری کردم نشد

abcd_a
چهارشنبه 19 مهر 1391, 20:18 عصر
ضمن تشکر از دوستانی که همکاری کردن
با استفاده از کامپوننت dotnetbar به کمک خصوصیت visible مشکل حل شد گفتم مطرح کنم شاید به درد کس دیگه هم بخوره

سوال:حالا چطور با استفاده از حلقه for بعد از کلیک بر روی دکمه بب جدید نمایش داده بشه و تب قبلی مخفی(بقیه تب ها) بشه؟

va2012
چهارشنبه 19 مهر 1391, 20:37 عصر
ضمن تشکر از دوستانی که همکاری کردن
با استفاده از کامپوننت dotnetbar به کمک خصوصیت visible مشکل حل شد گفتم مطرح کنم شاید به درد کس دیگه هم بخوره

سوال:حالا چطور با استفاده از حلقه for بعد از کلیک بر روی دکمه بب جدید نمایش داده بشه و تب قبلی مخفی(بقیه تب ها) بشه؟

خیلی سادست. میتونی اول تمام تب ها رو با یک حلقه مخفی کنی و بعد در ادامه تب مورد نظرت رو از حالت مخفی خارج کنی مثل این کد:

for (int i = 0; i < tabControl1.Tabs.Count; i++)
{
tabControl1.Tabs[i].Visible = false;
}

tabControl1.Tabs[4].Visible = true;