當FormBorderStyle設為None,如何移動Winform窗口
首先﹐定義鼠標左鍵按下時的Message標識﹔其次﹐在Form1_MouseDown方法﹐讓操作系統誤以為是按下標題欄。
1.定義鼠標左鍵按下時的Message標識
private const int WM_NCLBUTTONDOWN = 0XA1; //定義鼠標左鍵按下
private const int HTCAPTION = 2;
2.讓操作系統誤以為是按下標題欄
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
//為當前的應用程序釋放鼠標鋪獲
ReleaseCapture();
//發送消息﹐讓系統誤以為在標題欄上按下鼠標
SendMessage((int)this.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
}
3.申明程序中所Windows的API函數
[DllImport("user32.dll",EntryPoint="SendMessageA")]
private static extern int SendMessage(int hwnd,int wMsg,int wParam,int lParam);
[DllImport("user32.dll")]
private static extern int ReleaseCapture();
浙公网安备 33010602011771号