在Visual studio 編輯器上如果要移除掉Windows的視窗按鈕就必須將ControlBox設定為False,但是這樣整個視窗按鈕《縮到最小、放大、視窗關閉》這三個按鈕都會同時移除掉,無法針對單一的按鈕進行處理,如下圖我們想要單獨關閉掉視窗關的功能,就必須要搭配Windows API的指令 RemoveMenu
來將視窗按鈕設定為Disable,以下小編將會提供教學範例供大家學習使用。
程式教學範例
/* Dll Import */
public static extern int GetSystemMenu(int hwnd, int bRevert);
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());
延伸閱讀: