本文介紹在C#窗體編程時,如何禁用系統默認的三種將窗口最大化的方式,包括系統菜單、最大化按鈕,以及窗口的拖拽。
Windows環境下的窗體,要想最大化,有多種辦法。比如最大化按鈕,比如拉伸窗口大小,或者是使用系統菜單中的最大化。系統菜單即在一個窗口中按(Alt+空格)出現在窗口左上角的那個菜單。
那么有沒有辦法將一個窗體中所有的最大化功能全部去掉呢?需求肯定是有的,就看我們怎么來實現了。
1、處理系統菜單中的最大化功能
首先在窗體類中聲明:
[DllImport("user32.dll",EntryPoint="RemoveMenu")]
extern static int RemoveMenu (IntPtr hMenu, int nPos, int flags);
static int MF_BYPOSITION = 0x400;
static int MF_REMOVE = 0x1000;
public Form1()//構造函數
{
InitializeComponent();
RemoveMenu(GetSystemMenu(Handle,IntPtr.Zero),0,MF_BYPOSITION|MF_REMOVE);
}
}
2、設置窗體不能通過伸拉改變大小
3、設置窗口的最大化按鈕不可用
新聞熱點
疑難解答