واضح آرشیو وب فارسی:سایت ریسک: بستن یک فرم Majid 3D 14 ارديبهشت 1387, 22:28چه جوری میشه یک فرم رو به طور کامل بست ؟ فرض کنید من دو تا فرم دارم ... در حالت پیش فرض فرم اول فعاله و برای رفتن به فرم دوم یک دکمه گذاشتم، پس وقتی روی دکمه کلیک میشه مشخصه ی visible فرم اول باید false و فرم دوم باید true باشه، حالا اگه کاربر بخواد با یه دکمه فرم دوم رو ببنده به طوری که فرم اول فعال باشه باید چی کار کنه ؟ اگه روی ضربدر کلیک کنه فرم فقط مخفی میشه! وقتی میری توی تاسک منجر میبینی که در حال اجراس! امیدوارم فهمیده باشید که چی گفتم. the_king 15 ارديبهشت 1387, 00:32پاسخ سوال شما دو متد Load و Unload است، مخصوصا Unload. شما در هنگامی که می خواهید فرم دوم نمایش یابد از یک چنین کدی استفاده می کنید، درسته ؟ Private Sub Command 1_Click() Form1.Visible = False Form2.Visible = True End Sub اتفاقی که در عمل می افته اینه، اول فرم Form1 که آشکار است و طبعا Load شده، ناپدید میشه ولی Unload نخواهد شد. و فرم Form2 که تا به حال Load نشده، Load میشه و سپس آشکار خواهد شد. حالا اگر به هر علتی فرم Form2 بسته بشه، همچنان Form1 در حافظه قرار داره و به همین دلیل هنوز اجرای برنامه به پایان نرسیده. ولی اگر بجای کد بالا از این کد استفاده کنید، نتایج فرق خواهد کرد : Private Sub Command 1_Click() Form2.Visible = True Unload Form1 End Sub ابتدا فرم Form2 را که تا به حال Load نشده، Load می کنیم و سپس آشکار میشه. تا اینجای کار مشابه روتین قبلی است ولی Unload کردن Form1 که بعد از اون انجام میشه تمامی حافظه مربوط به فرم Form1 رو آزاد می کنه و حقیقتا فرم Form1 رو می بنده. حالا اگر به هر علتی فرم Form2 بسته بشه و حافظه اش آزاد بشه، فرم دیگری در حافظه قرار نداره و اجرای برنامه به پایان می رسه. اگر قصد دارید که از فرم Form2 دوباره به فرم Form1 برگردید می توانید از این کد استفاده کنید : Private Sub Command 1_Click() Form1.Visible = True Unload Form2 End Sub و اگر می خواهید فرم Form2 با فشار یک دکمه بطور کامل بسته بشه و برنامه هم خاتمه پیدا کنه از این کد استفاده کنید : Private Sub Command 1_Click() Unload Form2 End Sub Majid 3D 17 ارديبهشت 1387, 18:59یه مشکلی توی وی بی هست ... فرض کنید من دو تا فرم دارم، اگه روی دکمه ی close فرم اول کلیک کنم برنامه کاملا بسته میشه ولی اگه روی دکمه ی close فرم دوم کلیک کنم فقط اون فرم بسته میشه ولی برنامه در حال اجراس!راهی هست که یه کاری کنیم اگه توی هر فرمی روی دکمه ی ضربدر کلیک شه برنامه بسته بشه ؟ و یک سوال دیگه ... آیا کسی میدونه که دستور unload و load توی ویبی 2008 به چه کدی تبدیل شده ؟ چون من هر چی میزنم جز کدها حساب نمیشه! ؟؟
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2784]