PDA

View Full Version : گفتگو: جلوگیری از بسته شدن برنامه به وسیله ی باگ ویندوز



blue_lotus
شنبه 26 بهمن 1387, 02:06 صبح
سلام دوستان

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

ولی اگر دبل کلیک کنیم برنامه بسته میشه! که ظاهرا از باگ های ویندوز هست!

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

تشکر

h.jaza
شنبه 26 بهمن 1387, 09:52 صبح
دوست عزیز این باگ نیست، بلکه یکی از ترفند هایی که برای بستن فرم ها طراحی شده.

یه فرم رو میشه به 7 8 طریق بستش که اینم یکیشه:

1. دکمه ی Close سمت راست فرم
Alt + F4 .2
File .3 و بعد Exit برای عموم فرم ها
4. Ctrl + W برای بعضی فرم ها
5. Ctrl + X برای بعضی فرم ها
6. Alt + Space + Close که همان کلیک کردن روی آیکون و بعد انتخاب Close است
7. دبل کلیک روی آیکون که همان فرایند بالاست به شیوه ای ساده تر
8. ...

mehdi.mousavi
شنبه 26 بهمن 1387, 13:23 عصر
سلام دوستان همینطور که می دونین اگر برنامه ای بنویسیم که در اون از هر سه دکمه بزرگ کردن و کوچیک کردن و بستن استفاده شده باشه در گوشه ی کناری سمت چپ ویندوز برنامه یک آیکن وجود داره که اگر روی اون کلیک کنیم منویی باز میشه که می پرسه میخواین پنجره رو جا به جا کنین یا ببندید یا منیمیز و سایر گزینه ها ولی اگر دبل کلیک کنیم برنامه بسته میشه! که ظاهرا از باگ های ویندوز هست! می خواستم نظر و راه حل هایی رو که دوستان برای برطرف کردن این مشکل در برنامه پیشنهاد می کنن رو بشنوم. تشکر

سلام.
درسته که ویندوز حاوی انواع و اقسام ایرادهای امنیتی هستش، اما دیگه نباید از این مساله استفاده کرد و هر قابلیتی که با عقلمون جور در نیومد رو بهش Label باگ بچسبونیم. واقعیت اینه که اون منویی که شما ازش اسم بردید، بهش میگن System Menu. هر منو، (که Sys Menu هم شاملش میشه) مینونه حاوی یک Default Item باشه. اگر به منوی مزبور دقت کنید، گزینه Close بصورت Bold نوشته شده. این آیتم، Default Item این منو هستش به این معنی که اگر با Mouse دوبار روی آیکون نامبرده Click بشه، در واقع Default Item منوی Attach شده به اون Icon کلیک شده.

بعنوان یک مثال دیگه، شما روی علامت Speaker در System Tray کلیت سمت راست Mouse رو بزنید. خواهید دید آیتم Open Volume Control بصورت Bold نوشته شده! این یعنی اینکه اگر دوبار روی اون آیکون click کنید، Default Item مربوطه اجرا خواهد شد! این مساله یکی از بخشهای چگونگی طراحی استاندارد UI هستش و همواره باید رعایت بشه.

اما با توجه به همه این مطالب که گفتم، اگر بازهم میخواهید این قابلیت رو از کاربر بگیرید، در انجمنهای جستجو کنید تا به پاسخ برسید. (چون فکر میکنم این مساله رو خود من قبلا دو بار بطور کامل پاسخ داده باشم).

navidkhalilian
دوشنبه 10 فروردین 1388, 03:01 صبح
دوست عزیز اگه آیکن فرم را حذف کنی این عمل دیگه انجام نمی شه.
خاصیت showicon فرم را غیر فعال کن(false)

lahij.ir
سه شنبه 05 مرداد 1389, 11:06 صبح
سلام دوستان

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

ولی اگر دبل کلیک کنیم برنامه بسته میشه! که ظاهرا از باگ های ویندوز هست!

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

تشکر
دوست من برای اینکه وقتی روی دکمه ی Close یا دابل کلیک روی آیکون برنامه و حتی End task کردن برنامه زده شد برنامه ی شما بسته نشه میتونین تو قسمت FormClosing مقدار e و برابر با cancel قرار بدین تا فرم بسته نشه ! مثال :

Private Sub Welcome_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
e.Cancel = True
End Sub

javaweb341
چهارشنبه 15 خرداد 1392, 21:32 عصر
با سلام و تشکر:قلب:
دوست عزیز من اتفاقی به اینجا رسیدم من می خواهم این کار را در Asp.net تحت C# انجام دهم چکار کنم؟
e.Cancel = True
در Asp عمل نکرد

omiditc
چهارشنبه 15 خرداد 1392, 21:58 عصر
ما به عنوان ترفند میشناسیمش ، نه بـــــــــــــــــــاگ ! ;):چشمک: