C#无边框窗体代码问题private Point mouse_offset; 
private void form_MouseDown(object sender, EventArgs e) 
{ mouse_offset = new Point(-e.X, -e.Y); 

private void form_MouseMove(object sender, EventArgs e) 
{ if (e.Button == System.Windows.Forms.MouseButtons.Left) 

Point mousePos = Control.MousePosition; 
mousePos.Offset(mouse_offset.X, mouse_offset.Y); 
this.Location = mousePos; 

} 报错错误 1 “System.EventArgs”并不包含“X”的定义 d:\test\vc\WindowsApplication6\WindowsApplication6\Form1.cs 25 41 WindowsApplication6 
错误 2 “System.EventArgs”并不包含“Y”的定义 d:\test\vc\WindowsApplication6\WindowsApplication6\Form1.cs 25 47 WindowsApplication6 
错误 3 “System.EventArgs”并不包含“Button”的定义 d:\test\vc\WindowsApplication6\WindowsApplication6\Form1.cs 30 19 WindowsApplication6 我该怎么改?? e.X e.Y Button怎么定义 书上面没写定义啊 

解决方案 »

  1.   

    你先看看x和y是什么类型,然后自定义new一个试试
      

  2.   

    晕 前面带个-是什么意思
    Point a = new Point(e.X, e.Y);
      

  3.   

    private   Point   mouse_offset;   
    private   void   form_MouseDown(object   sender,   EventArgs   e)   
    {   mouse_offset   =   new   Point(-e.X,   -e.Y);   
    }   
    private   void   form_MouseMove(object   sender,   MouseEventArgs e)   
    {   if   (e.Button   ==   System.Windows.Forms.MouseButtons.Left)   
    {   
    Point   mousePos   =   Control.MousePosition;   
    mousePos.Offset(mouse_offset.X,   mouse_offset.Y);   
    this.Location   =   mousePos;   
    }   
    }   
      

  4.   

    ..颜色乱了,重发private   Point   mouse_offset;   
    private   void   form_MouseDown(object   sender,   EventArgs   e)   
    {   mouse_offset   =   new   Point(-e.X,   -e.Y);   
    }   
    private   void   form_MouseMove(object   sender,   MouseEventArgs e)   
    {   if   (e.Button   ==   System.Windows.Forms.MouseButtons.Left)   
    {   
    Point   mousePos   =   Control.MousePosition;   
    mousePos.Offset(mouse_offset.X,   mouse_offset.Y);   
    this.Location   =   mousePos;   
    }   
    }  
      

  5.   

    ...上面的..也改为MouseEventArgs 
      

  6.   

    搞错了 负值也可以的
    我照你那样写 没什么错误
    不过我不明白你到底你在mouseDown事件里定义一个局部变量呢 还是怎么着 怎么里面外面都定义一次。
      

  7.   

    EventArgs 没有x,y属性,你是不是想做无边框窗体的拖动
      

  8.   

    MouseDonw 事件是有MouseEventArgs e 参数的。你检查一下,代码写错了。
      

  9.   

    若是无边框窗体的移动.
     bool beginMove=false;
     int currentXPosition = 0;
     int currentYPosition = 0;
     private void Fomr_MouseMove(object sender, MouseEventArgs e)
            {
                if (beginMove)
                {
                    this.Left += MousePosition.X - currentXPosition;
                    this.Top += MousePosition.Y - currentYPosition;
                    currentXPosition = MousePosition.X;
                    currentYPosition = MousePosition.Y;
                }
            }        private void Fomr_MouseDown(object sender, MouseEventArgs e)
            {
                beginMove = true;
                currentXPosition = MousePosition.X;
                currentYPosition = MousePosition.Y;
            }        private void Fomr_MouseUp(object sender, MouseEventArgs e)
            {
                beginMove = false;
            }