FormBordeStyle属性设置为none后,代码实现鼠标可以拖动窗体

在FormBordeStyle属性设置为none的窗体的后台代码中添加以下代码,鼠标拖拽窗体时实现移动功:
/// <summary>
        /// 设置FormBorderStyle:FixedDialog后窗体无法移动,重新实现移动窗体代码
        /// </summary>
        private const int WM_NCHITTEST = 0x84;
        private const int HTCLIENT = 0x1;
        private const int HTCAPTION = 0x2;
        protected override void WndProc(ref Message id)
        {
            // 引用消息ID(ref Message ID)
            switch (id.Msg)
            {
                case WM_NCHITTEST:
                    base.WndProc(ref id);
                    if ((int)id.Result == HTCLIENT)
                        id.Result = (IntPtr)HTCAPTION;
                    return;
            }
            base.WndProc(ref id);
        }

猜你喜欢

转载自blog.csdn.net/qq_34741500/article/details/80085785