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

نسخة كاملة : تجميد او الغاء زر الاغلاق X
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[attachment=5951]
بسم الله الرحمن الرحيم

كيف يمكن الغاء او تجميد زر الاغلاق  في البرنامج الخيارات الاخرى موجودة الخاصة بالتصغير او التكبير ماعداء الاغلاق اتمنى المساعدة
السلام عليكم ورحمة الله

أنا باستخدم هذا الكود من زمان
PHP كود :
Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        Dim param 
As CreateParams MyBase.CreateParams
        param
.ClassStyle param.ClassStyle Or &H200
        
Return param
    End Get
End Property 
هل يوجد طريقة من خصائص المشروع للتعديل ام لا يوجد مثل زر التصغير والتكبير
السلام عليكم ورحمة الله

لا توجد خاصية لزر الإغلاق فقط،
لكن ممكن تعطل الخاصية ControlBox إذا كان الفورم حجمه ثابت وقتها أكيد ما تحتاج تكبير وتصغير بس حيخفيهم كلهم
الموضوع بسيط جداً  ضع الامر e.Cancel = True  في حدث Form_FormClosing هكذا :

كود :
 Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       e.Cancel = True
   End Sub
السلام عليكم ورحمة الله

طريقة Dev Saeed حلوة
بس فيه مشكلة وهي أنك ما تقدر تغلق البرنامج هذا غير انه يربك المستخدم لما يضغط على زر X وما يحصل شي
إذا أردت استخدام هذه الطريقة تحتاج تكملة عشان تقدر تخرج من البرنامج
هذا هو الكود
PHP كود :
Public Class Form1

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        DoClose 
True
        Application
.Exit()
    
End Sub

    
Private DoClose As Boolean False
    
Private Sub Form1_FormClosing(ByVal sender As ObjectByVal e As System.Windows.Forms.FormClosingEventArgsHandles Me.FormClosing
        
If Not DoClose Then e.Cancel True
    End Sub

End 
Class 
كلام الأخ الوليد صحيح 100%    

و تحديثاً على الكود الي ارسلته :

كود :
   Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       e.Cancel = True
       If (MsgBox("هل تريد إغلاق الرنامج", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "إغلاق") = MsgBoxResult.Yes) Then
           End
       End If
   End Sub
خطوتين فقط لعطيل زر الاغلاق

الامر بسيط جدا وفي غاية البساطة
كالتالي
الخطوة الاولى
قم بفتح module جديد وانسخ فيه هذا الكود

Public Declare Function GetSystemMenu Lib "user32.dll" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function DeleteMenu Lib "user32.dll" (ByVal hwnd As Long, ByVal nPosition As Long, ByVal uflags As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long


Sub DisableCloseBox()

Const MF_BYCOMMAND As Long = &H0&
Const SC_CLOSE As Long = &HF060
Const SC_MAXIMIZE As Long = &HF030
Const SC_MINIMIZE As Long = &HF020
Const SC_RESTORE As Long = &HF120

Dim hMenu As Long
Dim hwnd As Long
Dim Ret As Long

hwnd = GetForegroundWindow()
hMenu = GetSystemMenu(hwnd, 0&)

Ret = DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
Ret = DrawMenuBar(hwnd)

End Sub


الخطوة الثانية

قم باستدعاء ال module الذي انشئته سابقا فقط بكتابة الامر التالي في كود الفورم عند الحدث active اكتب فقط


DisableCloseBox


وارح يتعطل معك زر الاغلاق للفورم
لكن لا تنسي ان تعمل buutton لإغلاق الفورم او الخروج منه
موضوع شيق

جزاكم الله خيرا
الله ينور عليكم وشكرااا