المشاركات : 190
المواضيع 48
الإنتساب : Sep 2013
السمعة :
5
الشكر: 196
تم شكره 219 مرات في 82 مشاركات
السلام عليكم احبتي في الله
بحثت كثيرا في الانترنت عن طريقة منع المستخدم من اغلاق الفورم بالضغط على مفتاح Alt+F4
===========================
فوجدت كود متداول على المواقع يقوم بالمهمة ولكن يكتب في حدث الـ key_down لكل الأدوات الموجودة على الفورم .. وهذا مرهق جدا
==========================
هل من كود لمنع اغلاق الفورم بالت اف4
المشاركات : 1,561
المواضيع 264
الإنتساب : Sep 2013
السمعة :
29
الشكر: 653
تم شكره 1044 مرات في 408 مشاركات
30-01-14, 05:08 PM
(آخر تعديل لهذه المشاركة : 30-01-14, 05:11 PM {2} بواسطة ali.alfoly.)
سامحني اخي سعود ما رئيت مشاركتك
شكرا للاخ Easy4ever
اخونا tarek رزقه وفير
المشاركات : 7,394
المواضيع 803
الإنتساب : Sep 2013
السمعة :
847
الشكر: 13249
تم شكره 18797 مرات في 4415 مشاركات
في الغالب احتاج طريقة لعمل البرنامج فابحث وابحث وفي الاخير لا اجد سوى حيلة تلبي نصف المطلوب.
المشاركات : 190
المواضيع 48
الإنتساب : Sep 2013
السمعة :
5
الشكر: 196
تم شكره 219 مرات في 82 مشاركات
30-01-14, 08:01 PM
(آخر تعديل لهذه المشاركة : 30-01-14, 08:04 PM {2} بواسطة tarek.)
شكرا لكم
طريقة الاستاذ سعود والاستاذ على الفولي منعت الاغلاق أصلا .. مش راضي يقفل لا بال close button ولا بالكود Me.close
وشكرا والله على اهتمامكم
طريقة الاستاذ Foreever بعد الضغط مرة واحدة على زر الاغلاق الذي به الكود KeyClose = True
ثم الضغط على Alt+F4 سيتم غلق البرنامج
جربوها
شاكر جدا لاهتمامكم
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
1. إزالة الأمر "إغلاق" (Close) من قائمة النظام التابعة للنافذة:
* ضع التصريحات التالية في بداية تعريف الـ Class:
كود :
Private Declare Function GetSystemMenu Lib "user32" Alias "GetSystemMenu" (ByVal hwnd As Integer, ByVal bRevert As Integer) As Integer
Private Declare Function RemoveMenu Lib "user32" Alias "RemoveMenu" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
Private Const MF_BYPOSITION As Integer = &H400
* في الحدث Load التابع للـ Form اكتب الكود التالي لحذف الأمر إغلاق و الفاصل الذي قبله من قائمة النظام الخاصة بالنافذة. الكود سيؤدي أيضاً إلى تعطيل زر إغلاق النافذة:
كود :
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim hSysMenu As Integer
hSysMenu = GetSystemMenu(Me.Handle, 0)
RemoveMenu(hSysMenu, 6, MF_BYPOSITION)
RemoveMenu(hSysMenu, 5, MF_BYPOSITION)
End Sub
2. منع Alt+F4 من العمل.
* اضبط الخاصية
KeyPreview للـ Form على
True.
* اكتب الكود التالي في الحدث
KeyDown للـ Form:
كود :
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.Alt And e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
* ملاحظة: قائمة النظام (System Menu) للنافذة هي القائمة التي تظهر عند النقر على رمز النافذة بالزر الأيسر، أو بالنقر على شريط عنوان النافذة بالزر الأيمن.
3. نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 1,561
المواضيع 264
الإنتساب : Sep 2013
السمعة :
29
الشكر: 653
تم شكره 1044 مرات في 408 مشاركات
ما شاء الله تبارك الله
حلوة قوي الفكرة دي يا اخ ناجي
طيب لي سؤال هل من الممكن بدل ان اجعله غير ممكن ان اجعله يقوم بدور اخر غير الاغلاق
بمعني اجعلة ممكن لاكن لا يغلق الفورم بل ينفذ دالة اخري