c# 当窗体设置成无边框后,如何实现拖动效果,简洁实用

在做一个类似QQ的消息提醒功能,就是弹出一个消息提示框的那种效果,需要将

将FormBorderStyle设置为none,但是窗体无法进行拖动。


解决的办法是:

1.在窗体的.cs文件的窗体类中添加如下代码

        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
        public const int WM_SYSCOMMAND = 0x0112;
        public const int SC_MOVE = 0xF010;
        public const int HTCAPTION = 0x0002; 

2.添加窗体的MouseDown事件,然后在响应函数中添加如下代码:

            ReleaseCapture();
            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);





你可能感兴趣的:(windows,c#,窗体无边框,拖拽)