منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إغلاق الفورم عن طريق زر Esc و التعامل مع CancelButton
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته اعضاء المنتدى الكرام

ندخل في الموضوع مباشرة 

الكود:

اضف الكود التالي في مشيد الفورم Sub New()  بعد         InitializeComponent()

كود :
       Dim Esc As New Button
       AddHandler Esc.Click, Sub(s, e) Close()
       Me.CancelButton = Esc

شغل البرنامج واضغط على زر Esc تلاحظ انه يقوم بغلق الفورم فعلا 
الى هنا انتهى الكود فعلا ، الباقي هو الشرح

الشرح:

طيب تعالو نفهم ماذا يحدث ؟

السر في الخاصية CancelButton الخاصة بالفورم ، والتي تضع فيها الزر التي يتم ضغطه عند الضغط على زر Esc من الكيبورد

إقتباس :
Definition
Namespace:System.Windows.FormsAssembly:System.Windows.Forms.dll
Gets or sets the button control that is clicked when the user presses the ESC key
[url=https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.form.cancelbutton?view=netcore-3.1#definition][/url]

لذلك قمنا باضافة زر وهمي وقمنا باضافة حدث Click له ليقوم بغلق الفورم
ثم اضفناه للخاصية CancelButton وبذلك عندما نضغط على الزر Esc يقوم بالضغط على هذا الزر الوهمي الذي يقوم باغلاق الفورم 

فكرة جيدة اليس كذلك  Big Grin

طيب الان لو انت عندك بالفعل زر وظيفته اغلاق الفورم ، كل ماعليك فعله ان تقوم باختيار هذا الزر للخاصية CancelButton الخاصة بالفورم .

[attachment=25510]

اتمنى التوفيق للجميع
1- In the Form Properties Set KeyPreview = True
2- In the Form KeyDown - Write the below code
If e.KeyCode = Keys.Escape Then
Me.Close
Exit Sub
End If