برگزیده های پرشین تولز

غیر فعال کردن دکمه ی close فرم

ameysams

کاربر تازه وارد
تاریخ عضویت
25 نوامبر 2006
نوشته‌ها
11
لایک‌ها
0
با سلا م خدمت دوستان عزیزدر vb.net چگونه میتوان دکمه ی close فرم را غیر فعال کرد.
با تشکر
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
سلام
خوب هستيد
اين توابع رو توي برنامه معرفي كنيد
کد:
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Long) As IntPtr
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As IntPtr) As Integer
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As IntPtr) As Boolean

Private Const MF_BYPOSITION = &H400
Private Const MF_REMOVE = &H1000
Private Const MF_DISABLED = &H2
اين ساب رو تين باعث حذف دكمه بستن هر پنجره اي ميشود
کد:
Public Sub DisableCloseButton(ByVal hwnd As IntPtr)
	Dim hMenu As IntPtr
	Dim menuItemCount As Integer
	hMenu = GetSystemMenu(hwnd, False)
	menuItemCount = GetMenuItemCount(hMenu)
	Call RemoveMenu(hMenu, menuItemCount - 1, MF_DISABLED Or MF_BYPOSITION)
	Call RemoveMenu(hMenu, menuItemCount - 2, MF_DISABLED Or MF_BYPOSITION)
	Call DrawMenuBar(hwnd)
End Sub
حال مثلا براي پاك كردن دكمه يك فرم اين ساب رو تين رو صدا ميزنيم
کد:
DisableCloseButton(Me.Handle
)
و براي خروج از كد زير استفاده ميكنيم
کد:
Application.Exit()

اميدوارم كمك كنه
 

PersianAmir

کاربر تازه وارد
تاریخ عضویت
1 ژوئن 2005
نوشته‌ها
76
لایک‌ها
1
سلام

خب شما یک راه دیگه هم دارید.

در event مربوط به closing فرم این کد را بنویس:

e.Cancel = True

از پاسخ مدیر انجمن نیز ممنون هستیم.


موفق باشید
 

aliabdolmalak1

کاربر تازه وارد
تاریخ عضویت
17 سپتامبر 2013
نوشته‌ها
4
لایک‌ها
0
سلان
دوستان خواهشا یکی کمک کنه من یک نرم افزار دارم که گزینه ماکسیمایزش غیر فعال هستش و گزینه مینیمایزش فقط فعال هست چطور میتونم اونو فعال کنم این نزم افزار مربوط به گیم نت هستش ممنون میشم کسی کمک کنه
 
بالا