C#視窗關閉按鈕移除

在Visual studio 編輯器上如果要移除掉Windows的視窗按鈕就必須將ControlBox設定為False,但是這樣整個視窗按鈕《縮到最小、放大、視窗關閉》這三個按鈕都會同時移除掉,無法針對單一的按鈕進行處理,如下圖我們想要單獨關閉掉視窗關的功能,就必須要搭配Windows API的指令 RemoveMenu來將視窗按鈕設定為Disable,以下小編將會提供教學範例供大家學習使用。C#視窗關閉按鈕移除

 

 

   程式教學範例  

 /* Dll Import */
 [DllImport("USER32.DLL")]
 public static extern int GetSystemMenu(int hwnd, int bRevert);
 [DllImport("USER32.DLL")]
 public static extern int RemoveMenu(int hMenu, int nPosition, int wFlags);
/* Disable windows close button */
 public int RemoveXButton(int iHWND)
 {
     int iSysMenu;
     const int MF_BYCOMMAND = 0x400;
     iSysMenu = GetSystemMenu(this.Handle.ToInt32(), 0);
     return RemoveMenu(iSysMenu, 6, MF_BYCOMMAND);
 }
/* 使用方式 */
 RemoveXButton(this.Handle.ToInt32());

延伸閱讀:

C#跨執行緒使用Windows Form UI

C#泛型Generics教學

C#常用的特殊字元

C#判斷資料夾是否存在

C# Application.DoEvents強制跳脫迴圈