.Net Framework Standard/WindowsApplication

FormBoardStyle.None 일 때 Form의 이동

달빛에취하다 2022. 1. 25. 09:37

FormBoardStyle이 None 일때 Form을 이동하기 위한 방법입니다.

 

Item_MouseMove 이벤트 함수를 컨트롤의 MouseMove 이벤트에 등록해서 사용하게되며 필요한 하위 컨트롤에 등록해서 함께 사용합니다.

 

 

        public const int WM_NCLBUTTONDOWN = 0xA1;
        public const int HT_CAPTION = 0x2;

        [System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
        public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
        [System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
        public static extern bool ReleaseCapture();

        private void Item_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                ReleaseCapture();
                SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
            }
        }

 

※ 출처 : Move window/form without Titlebar in C# - CodeProject