方案1 : 通過重載消息處理實現。重寫窗口過程(WndProc),處理一些非客戶區消息(WM_NCxxxx),C#中重寫窗口過程不用再調用SetWindowLong API了,直接overide一個WndProc就可以了,不用聲明api函數。
鼠標的拖動只對窗體本身有效,不能在窗體上的控件區域點擊拖動
方案2 : 調用非託管的動態鏈接庫,通過控件的鼠標按下事件(MouseDown)發送一個拖動的消息,可以給控件添加MouseDown事件後,拖動這個控件來移動窗體
方案3 : 直接在控件上寫事件,朋友的是一個PictureBox 停靠在主窗體,然後主窗體設置的無邊框,用的是這中方法
下班 回家!!