PDA

View Full Version : سوال: مخفي و مرئي كردن TabPage



hooshmand_mostafa
جمعه 27 اردیبهشت 1387, 10:34 صبح
سلام.
من می خوام در زمان اجرا بر اساس شرایط، یک سری tabpage ها،خاصیت visible = true or visible = false قرار بدم اما نمیشه.اگر من و راهنمایی کنید ممنون میشم.

hozouri
جمعه 27 اردیبهشت 1387, 10:52 صبح
دوست عزیز متاسفانه به دلیل باگ یا این که C# کرک شدس در قسمت
tabpage.TabPages[index]; گزینه Visible و Enable نداره ولی نگران نباش ولی اگر این دو رو تایپ کنی با این که نمیاد عمل می کنه یعنی به صورت زیر نوشته میشه
tabpage.TabPages[index].Visible=false;
دقت کن اول حرف Visible و Enabled با حروف بزرگه این باگ رو هم من کشف کردم نامه به مایکروسافت زدم اما هیچ جوابی ندادند.

علیرضا مداح
جمعه 27 اردیبهشت 1387, 11:31 صبح
سلام دوست عزیز


tabpage.TabPages[index].Visible=false;

خیر ، این کد باعث مخفی شدن TabPage نمیشود /
راه اصولی برای انجام اینکار فعلا" وجود ندارد ، بهترین راه Remove کردن شیء TabPage و Add کردن مجدد آن است./

hozouri
جمعه 27 اردیبهشت 1387, 12:20 عصر
سلام دوست عزیز

خیر ، این کد باعث مخفی شدن TabPage نمیشود /
راه اصولی برای انجام اینکار فعلا" وجود ندارد ، بهترین راه Remove کردن شیء TabPage و Add کردن مجدد آن است./

دوست عزیز من در همه برنامه هام از این کد استفاده می کنم و این عملی هست شما چه طور می گید عملی نیست اگر خواستید نمونه برنامه میذارم.

hozouri
جمعه 27 اردیبهشت 1387, 12:23 عصر
مگر اینکه شما بخواید خود tabpage رو مخفی کنید نه برگه ها (زبونه های) tabpage رو البته برای اون هم چند راه عملی است . Remove کردن و Add کردن tabpage فقط راه حل برنامه نویسهای مبتدی آقای مداح.

علیرضا مداح
جمعه 27 اردیبهشت 1387, 12:48 عصر
مگر اینکه شما بخواید خود tabpage رو مخفی کنید نه برگه ها (زبونه های) tabpage رو البته برای اون هم چند راه عملی است . Remove کردن و Add کردن tabpage فقط راه حل برنامه نویسهای مبتدی آقای مداح.

دوست عزیز من، مخفی نمودن TabPage با ست کردن Visible بر روی False ممکن نیست ،
روشی هم که ذکر شد ، تنها پیشنهاد بنده نیست.

جناب کریستین گراس ، یکی از مدریتورهای MSDN Forums :
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=251821&SiteID=1


این باگ رو هم من کشف کردم نامه به مایکروسافت زدم اما هیچ جوابی ندادند

در ضمن این مسئله ، باگ تلقی نمیشود ، در دات نت توابع/متدها/خواص ی وجود دارند که توسط زیرساختار دات نت از آنها استفاده میگردد و نباید به طور مستقیم فراخوانی گردند و راه حلی که ذکر شد ، راه حل ارائه شده از سوی مایکروسافت است :

TabPage..::.Visible Property

This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.

This member is not meaningful for this control.
http://i.msdn.microsoft.com/Platform/Controls/CollapsibleArea/resources/minus.gif Remarks
This member is not meaningful for this control.
To hide a tab in a TabControl (http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.aspx), you must remove it from the control's TabPages (http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.tabpages.aspx) collection.

منبع : http://msdn.microsoft.com/en-us/library/y6e1ah1k.aspx

hozouri
جمعه 27 اردیبهشت 1387, 12:52 عصر
ولی بهترین راه حل Enabled کردن هستش که محتوای tabpage ها دیده می شه ولی همه اشیا غیر فعال هستند .
یه مثال هم برای دانلود گداشتم...

hozouri
جمعه 27 اردیبهشت 1387, 13:03 عصر
[QUOTE=علیرضا مداح;517919]

در ضمن این مسئله ، باگ تلقی نمیشود ، در دات نت توابع/متدها/خواص ی وجود دارند که توسط زیرساختار دات نت از آنها استفاده میگردد و نباید به طور مستقیم فراخوانی گردند
[ltr]

شما در این مورد مدرک معتبری دارید چون مایکروسافت خیلی سوتی داده که اون ها رو بعداً به چیز های دیگه ربط داده یه نمونش هم پروفسوری بود که به بیل گیتس نامه نوشت و در مورد اشکال های سیستم عامل ویندوز و هزار چیزه دیگه انقاد کرد اما حتی مایکروسافت به رفع اون معایب فکر نکرد و چه برسه به این که درستش کنه و رو همش پاپوش گذاشت.

علیرضا مداح
جمعه 27 اردیبهشت 1387, 13:37 عصر
جناب حضوری عزیز ، کدی که شما ارائه کردید برای Enable و Disable کردن TabPage است نه مخفی کردن آن و این مسئله(Disable کردن) مشکلی ندارد و به راحتی انجام میشود .
اما بحث ما بر روی مخفی نمودن شیء مذکور میباشد که میبایست طبق روش ذکر شده توسط مایکروسافت عمل گردد .......


سلام.
من می خوام در زمان اجرا بر اساس شرایط، یک سری tabpage ها،خاصیت visible = true or visible = false قرار بدم اما نمیشه.اگر من و راهنمایی کنید ممنون میشم.



شما در این مورد مدرک معتبری دارید چون مایکروسافت خیلی سوتی داده که اون ها رو بعداً به چیز های دیگه ربط داده

موردی که ذکر شد ، چیزی نیست که بعدا" گفته شده باشد ، این نکته جزو ساختار چارپوب کاری دات نت میباشد.

Mahdi.Kiani
دوشنبه 03 تیر 1387, 09:39 صبح
دوست عزیز من در همه برنامه هام از این کد استفاده می کنم و این عملی هست شما چه طور می گید عملی نیست اگر خواستید نمونه برنامه میذارم.

سلام
خیلی خوشحال میشم که نمونه برنامتون را در این رابطه ببینم..


مگر اینکه شما بخواید خود tabpage رو مخفی کنید نه برگه ها (زبونه های) tabpage رو البته برای اون هم چند راه عملی است . Remove کردن و Add کردن tabpage فقط راه حل برنامه نویسهای مبتدی آقای مداح.

باز هم اگر لطف کنید و توضیحاتی در این مورد ارائه کنید خوشحال می شم...

با تشکر

hozouri
چهارشنبه 05 تیر 1387, 16:27 عصر
بهترین راه حل Enabled کردن هستش که محتوای tabpage ها دیده می شه ولی همه اشیا غیر فعال هستند .
یه مثال هم برای دانلود گداشتم...

Mahdi.Kiani
چهارشنبه 05 تیر 1387, 16:39 عصر
بهترین راه حل Enabled کردن هستش که محتوای tabpage ها دیده می شه ولی همه اشیا غیر فعال هستند .
یه مثال هم برای دانلود گداشتم...

خوب اینکه راه حل مسئله نیست ...
مسئله = مخفی و مرئی کردن TabPage نه Disable کردن آن ...

راهی هم که تا حالا براش وجود داشته، همان Remove و Add بوده ...
ولی با توجه به این صحبت شما



دوست عزیز متاسفانه به دلیل باگ یا این که C# کرک شدس در قسمت
tabpage.TabPages[index]; گزینه Visible و Enable نداره ولی نگران نباش ولی اگر این دو رو تایپ کنی با این که نمیاد عمل می کنه یعنی به صورت زیر نوشته میشه
tabpage.TabPages[index].Visible=false;
دقت کن اول حرف Visible و Enabled با حروف بزرگه این باگ رو هم من کشف کردم نامه به مایکروسافت زدم اما هیچ جوابی ندادند.

و نیز :



دوست عزیز من در همه برنامه هام از این کد استفاده می کنم و این عملی هست شما چه طور می گید عملی نیست اگر خواستید نمونه برنامه میذارم.

و ایضا


Remove کردن و Add کردن tabpage فقط راه حل برنامه نویسهای مبتدی آقای مداح.

خواستم راه حل شما را که احتمالا باید حرفه ای تر ویا اصولی تر از روش های موجود است را بدونم


ممنون