C# 隐藏标题栏
C#实现隐藏标题栏同时自带系统默认事件
方法一:
protected override CreateParams CreateParams { get { int WS_CAPTION = 0xC00000; int WS_BORDER = 0x800000; var param = base.CreateParams; param.Style &= ~WS_CAPTION | WS_BORDER; return param; } }
方法二:
用到的windows api
SetWindowLong、GetWindowLong
代码如下:
全局:
[DllImport("USER32.DLL")] public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); [DllImport("USER32.DLL")] public static extern int GetWindowLong(IntPtr hWnd, int nIndex); public static int GWL_STYLE = -16; public static int WS_CHILD = 0x40000000; public static int WS_BORDER = 0x00800000; public static int WS_DLGFRAME = 0x00400000; public static int WS_CAPTION = WS_BORDER | WS_DLGFRAME;
OnLoad 事件内:
int style = GetWindowLong(Handle, GWL_STYLE); SetWindowLong(Handle, GWL_STYLE, (style & ~WS_CAPTION)); Height = ClientRectangle.Height;