PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : عدم نمایش محتویات درون فرم



abootorab
2014/12/26, 11:26
با درود
دوستان و اساتید عزیز درون فایلی که ضمیمه کردم توضیح کامل دادم م مشکلم رو بیان کردم اگه لطف کنید و پاسخ بدین ممنون میشم. البته اگه این مشکل قابل حل باشه!!

Ali Parsaei
2014/12/26, 15:13
سلام،
اشکال در ماژول يک است، البته شايد هم نتوان اسم اشکل رويش گذاشت.
ماژول در اصل به اين صورت نوشته شده که محتويات داخل يوزر فرم را نشان نمي دهد، فقط قاب آن را نمايش داده و به مرور کم رنگ مي کند.
وقتي دگمه "حالت اول" را مي زنيد يوزرفرم کامل نشان داده مي شود، سپس اگر به طور دقيق نگاه کنيد وقتي دگمه Do Fade را مي زنيد ماژول يک اجرا مي شود (البته با واسطه ماژول دو)، اگر دقت کنيد به محض شروع ماژول يک محتويات داخل فرم غير قابل ديد شده و فرم کم رنگ مي شود و نهايتا" بسته مي شود.
در دگمه "حالت دوم" هم دقيقا" همان کار انجام مي شود منتهي چون کد دگمه Do Fade را با فراخواني ماژولها يکي کرده ايد به قدري اين کار سريع انجام مي گردد که ديگر محتويات قابل ديد نيست.
به طور ساده عرض کنم:
دگمه "حالت دوم" را که مي زنيد فرم به صورت کامل با نمايش تمام محتويات ظاهر مي گردد.
منتهي اين نمايش کسري از ثانيه بيشتر طول نمي کشد و با چشم قابل درک نيست.
بلافاصله ماژولها اجرا مي شود، منتهي ماژول اينطور نوشته شده که قاب خالي فرم را چند ثانيه نمايش داده و کم رنگ کرده و ببندد.
راه حل:
يا بايد کد ماژول را اصلاح کرد که البته دنگ و فنگ دارد، يا بايد در کد دگمه "حالت دوم" چيزي اضافه کرد که بين نمايش فرم و اجراي ماژول تاخير بياندازد
من کدش را براي تأخير 3 ثانيه اي اينطور نوشته ام:


Private Sub CommandButton2_Click()
UserForm2.Show
Application.OnTime Now + TimeValue("00:00:03"), "Fade_Msg"
End Sub

البته توجه کنيد که در اين حالت ديگر خط اول ماژول fade_msg يعني عبارت UserForm2.Show لازم نيست و بايد حذف گردد

abootorab
2014/12/26, 15:39
سلام،
اشکال در ماژول يک است، البته شايد هم نتوان اسم اشکل رويش گذاشت.
ماژول در اصل به اين صورت نوشته شده که محتويات داخل يوزر فرم را نشان نمي دهد، فقط قاب آن را کم رنگ مي کند.
وقتي دگمه "حالت اول" را مي زنيد يوزرفرم کامل نشان داده مي شود، سپس اگر به طور دقيق نگاه کنيد وقتي دگمه Do Fade را مي زنيد ماژول يک اجرا مي شود (البته با واسطه ماژول دو)، اگر دقت کنيد به محض شروع ماژول يک محتويات داخل فرم غير قابل ديد شده و فرم کم رنگ مي شود و نهايتا" بسته مي شود.
در دگمه "حالت دوم" هم دقيقا" همان کار انجام مي شود منتهي چون کد دگمه Do Fade را با فراخواني ماژولها يکي کرده ايد به قدري اين کار سريع انجام مي گردد که ديگر محتويات قابل ديد نيست.
به طور ساده عرض کنم:
دگمه "حالت دوم" را که مي زنيد فرم به صورت کامل با نمايش تمام محتويات ظاهر مي گردد.
منتهي اين نمايش کسري از ثانيه بيشتر طول نمي کشد و با چشم قابل درک نيست.
بلافاصله ماژولها اجرا مي شود، منتهي ماژول اينطور نوشته شده که قاب خالي فرم را چند ثانيه نمايش داده و کم رنگ کرده و ببندد.
راه حل:
يا بايد کد ماژول را اصلاح کرد که البته دنگ و فنگ دارد، يا بايد در کد دگمه "حالت دوم" چيزي اضافه کرد که بين نمايش فرم و اجراي ماژول تاخير بياندازد
من کدش را براي تأخير 3 ثانيه اي اينطور نوشته ام:


Private Sub CommandButton2_Click()
UserForm2.Show
Application.OnTime Now + TimeValue("00:00:03"), "Fade_Msg"
End Sub

البته توجه کنيد که در اين حالت ديگر خط اول ماژول fade_msg يعني عبارت UserForm2.Show لازم نيست و بايد حذف گردد

درود استاد عزیز
ممنونم از وقتی که گذاشتین و مشکلمو حل کردین
البته در برنامه اصلیم کلید ضربدر قرمز رو هم از گوشه فرم حذف کردم که در حین نمایش پیام کاربر به اون دسترسی نداشته باشه.
موفق باشین