winform无边框窗体拖拽效果

    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("user32.dll", CharSet = CharSet.Unicode)]
        public static extern IntPtr SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);


        [DllImport("user32.dll", CharSet = CharSet.Unicode)]
        public static extern bool ReleaseCapture();

//将此事件绑定到窗体控件上即可拖动
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { const int WM_NCLBUTTONDOWN = 0x00A1; const int HTCAPTION = 2; if (e.Button == MouseButtons.Left) // 按下的是鼠标左键 { ReleaseCapture(); SendMessage(this.Handle, WM_NCLBUTTONDOWN, (IntPtr)HTCAPTION, IntPtr.Zero); // 拖动窗体 } } }

 

posted @ 2022-02-15 14:00  Ctgu华晶  阅读(65)  评论(0)    收藏  举报