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;
posted @ 2020-09-16 12:38  修石  阅读(755)  评论(0编辑  收藏  举报