private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                this.DragMove();
            }
        }

解决方案 »

  1.   

    C# 的 WinForm  or  WPF??
      

  2.   

    winform        private Point mouseOffset;
            private bool isMouseDown = false;
            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                int xOffset;
                int yOffset;            if (e.Button == MouseButtons.Left)
                {
                    xOffset = -e.X;
                    yOffset = -e.Y;
                    mouseOffset = new Point(xOffset, yOffset);
                    isMouseDown = true;
                }
            }        private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (isMouseDown)
                {
                    Point mousePos = Control.MousePosition;
                    mousePos.Offset(mouseOffset.X, mouseOffset.Y);
                    Location = mousePos;
                }        }        private void Form1_MouseUp(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    isMouseDown = false;
                }
            }
    wpf        private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
            {
                if (e.LeftButton == MouseButtonState.Pressed)
                {
                    this.DragMove();
                }
            }
      

  3.   

    这个事件只在鼠标按下时执行一次吧,不是应该放到MOUSEMOVE事件里么?
      

  4.   

    嗯,知道了.wpf里用法不太一样.多嘴了
      

  5.   

    winform   这段代码代码添加后错误 “QQ.Form1”不包含“Form1_Load”的定义,并且找不到可接受类型为“QQ.Form1”的第一个参数的扩展方法“Form1_Load”(是否缺少 using 指令或程序集引用?) d:\用户目录\Documents\Visual Studio 2012\Projects\QQ\QQ\Form1.Designer.cs 45 55 QQ
        
      

  6.   

    没有 激发  Form1_Load 事件。
      

  7.   


    给Form1添加Load事件,点窗体的属性,然后找到load事件双击就可以了