C#窗体编程(windows forms)禁止窗口最大化的方法
本文介绍在C#窗体编程时,如何禁用系统默认的三种将窗口最大化的方式,包括系统菜单、最大化按钮,以及窗口的拖拽。
Windows环境下的窗体,要想最大化,有多种办法。比如最大化按钮,比如拉伸窗口大小,或者是使用系统菜单中的最大化。系统菜单即在一个窗口中按(Alt+空格)出现在窗口左上角的那个菜单。
那么有没有办法将一个窗体中所有的最大化功能全部去掉呢?需求肯定是有的,就看我们怎么来实现了。
1、处理系统菜单中的最大化功能
首先在窗体类中声明:
publicclassForm1:System.Windows.Forms.Form { [DllImport("user32.dll",EntryPoint="GetSystemMenu")]//导入API函数 externstaticSystem.IntPtrGetSystemMenu(System.IntPtrhWnd,System.IntPtrbRevert);
[DllImport("user32.dll",EntryPoint="RemoveMenu")] externstaticintRemoveMenu(IntPtrhMenu,intnPos,intflags); staticintMF_BYPOSITION=0x400; staticintMF_REMOVE=0x1000;
publicForm1()//构造函数 { InitializeComponent(); RemoveMenu(GetSystemMenu(Handle,IntPtr.Zero),0,MF_BYPOSITION|MF_REMOVE); } }