مشاهده نسخه کامل
: showو showdialog
sara_she
15-05-2007, 08:59
با سلام
يه سوال در مورد نمايش فرم تو vs c++.net برام پيش اومده مي خواشتم بدونم فرق متدهاي show و showdialog در نمايش فرم هاي winچيه ؟ و Syntax آنها براي نوشتن به چه شكله ممنون مي شم اگه يه نمونه كد بگذاريد.
با تشكر
سلام
اگر فرم را با تابع show نمایش دهید، فرم نمایش داده میشود و فوراً کدهای خط بعدی شما اجرا میشود و اگر دو فرم داشته باشید میتوانید روی هر کدام کلیک کنید و هر با هرکدام به صورت مجزا کار کنید.
اگر فرم را با تابع showdialog نمایش دهید در اصل فرم شما به حالت modal نمایش داده میشود و دستورات شما در محل اجرای showdialog متوقف میشود تا کاربر فرم جدید را ببندد در این حال کاربر نمیتواند با تا فرم دوم را ببند با فرم اول هم کار کند. مثلاً تابع messagebox از این حالت برای نمایش فرم message استفاده میکند و تا کاربر OK یا Cancel را نزند نمیتواند با فرم اصلی کارکند و دستورات فرم اصلی هم در محل فراخانی متوقف میشود.
ممنون از توضیحات کامل _H2_
دقیقا مثل Show میتونین ازش استفاده کنین.
یه نمونه از کلاس Form تون می سازین و با استفاده از این نمونه متود ShowDialog رو Call میکنین.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته این متود دوشکل داره که شکل دوم به صورت زیر میتونه استفاده کرد.
(البته یه مقدار پیچیده هست)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
sara_she
16-05-2007, 09:05
ممنون از راهنماييتون
دو سوال ديگه در اين زمينه برام پيش اومده اوليش متد activeform است . مي خوام بدونم اين متد با Showdialog() چه فرقي داره . اونجوري كه من امتحان كردم از نظر اجرا شبيه Showdialog است و تا فرم مورد نظر بسته نشه هيچ كار ديگه اي نمي شه انجام داد .
دومين سوالم هم متد activate است مي خوام بدونم چه زماني براي يك كلاس از اين متد استفاده مي شه و چه كاري انجام مي ده
با تشكر
ActiveForm یه متود نیست. یه Property در کلاس From هست.
که میتونین به کمک این property بین Form های برنامه تون ، Active Form و یا به عبارتی Form ی که روش
Focus هست رو ، انتخاب کنین. در بعضی از برنامه های که چندین Form همزمان اجرا میشه کمک میکنه تا
برنامه بتونه تشخیص بده که کاربر روی کدوم Form هست.
اما برای اجرای یه From به کار نمیره. بنابراین میشه گفت کلا با ShowDialog فرق داره.
متود Activate برای Set کردن Focus روی Form مورد نظر به کار میره. در نظر بگیرین در یه برنامه چند Form
باز هستند. با این متود میتونین Form ی که میخواین فعال بشه ،Active کنین.
sara_she
20-05-2007, 09:38
ممنون از راهنمايي تون
اگه براتون امكان داره يه نمونه از استفاده activateو activeformرو اينجا بذارين
در مورد ActiveForm:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
الان form یه نمونه از کلاسی Form ی هست که Focus روش قرار داره و از تمامی اعضای Form میتونین
استفاد کنین.
در مورد Activate
فرض کنین دو form دارین. با استفاده از متود Show در Form اول ، Form دوم رو فعال میکنیم.
روی Form دوم با استفاده از متود Activate دوباره Focus رو روی Form اول میاریم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.