PDA

View Full Version : سوال: مسیج باکس زمان دار



farsoft
سه شنبه 06 اردیبهشت 1390, 17:19 عصر
سلام به دوستان عزیز
من برای قسمتی از برنامه احتیاج دارم مسیج باکس را مثلا بعد از 30 ثانیه ببندم
ولی چیز خاصی پیدا نکردم
لطفا دوستان اگر کد خاصی دارند کمک کنند
با تشکر

ali.rezaei7
سه شنبه 06 اردیبهشت 1390, 18:00 عصر
سلام؛ از تایمر استفاده کنید! می تونید قبل از نمایش پیغام تایمر رو فعال کنید و با دستور SendKeys.Send("{ESC}") پیام رو ببندید. در این صورت خروجی DialogResult.Cancle می باشد. البته یه مشکلی که داره این هست که تو حالت AbortRetryIgnoreجواب نمیده.
یک راهش هم این هست که پیغام رو در داخل یک فرم دیگه به نمایش دربیارید و بعد از گذشتن مدت زمان معین از طریق تایمر فرم رو ببندید و خروجی رو برگردونید. این روش خوبیش این هست که در هر حالتی جواب می ده.

farsoft
سه شنبه 06 اردیبهشت 1390, 18:25 عصر
دوست عزیز از راهنمایی شما خیلی متشکرم
من از کد SendKeys.Send("{ENTER}"); استفاده کردم
و برای مسیج باکس دکمه Default تعریف کردم و بدرستی عمل کرد
حتی برای abort retry ignore هم جواب داد
از شما متشکرم

ali.rezaei7
سه شنبه 06 اردیبهشت 1390, 18:45 عصر
دوست عزیز از راهنمایی شما خیلی متشکرم
من از کد SendKeys.Send("{ENTER}"); استفاده کردم
و برای مسیج باکس دکمه Default تعریف کردم و بدرستی عمل کرد
حتی برای abort retry ignore هم جواب داد
از شما متشکرم

اما اگر فوکوس به هر دلیلی توسط کاربر تغییر کنه چطور؟ اون وقت برای حل این مشکل چکار می کنید؟ استفاده از فرم جدید؟

farsoft
سه شنبه 06 اردیبهشت 1390, 19:28 عصر
سما خوب تست کن
اگر مسیج باکس توسط تایمر بسته شده بود مقدار را default در نظر بگیر
ولی اگر توسط کلیک بسته شده بود همان که برگردانده استفاده کن
مثلا می توانی زمان tick تایمر یک متغیر منطقی را استفاده کنی که بهت نتیجه بده و شما آنرا قبل از مقدار برگشتی از مسیج باکس تست کنی