Disabilitare il pulsante chiusura di un form

Vi siete mai chiesti se è possibile disabilitare la chiusura del form?

E se disabilitare il MinimizeBox ed il MaximizeBox non bastasse ecco il rimedio che fà per voi per impedire Allutente di chiudere il form.
Per prima cosa occorre importare la libreria che ci permette di lavorare sulle WinAp

using System.Runtime.InteropServices;

Dichiariamo le varibili necessarie per eseguire l’operazione:

private const int MF_BYPOSITION = 0×400;
[DllImport("User32")]
private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("User32")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("User32")]
private static extern int GetMenuItemCount(IntPtr hWnd);

Ora semplicemente all’avvio del del form o tramite un pulsante in debug o semplicemente a RunTime. Possiamo disabilitare il Pulsante X chiamando questa funzione:

private void Form1_Load(object sender, EventArgs e)
{
IntPtr hMenu = GetSystemMenu(this.Handle, false);
int menuItemCount = GetMenuItemCount(hMenu);
RemoveMenu(hMenu, menuItemCount 1, MF_BYPOSITION);
}

 

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...