ibcadmin 发表于 2015-1-13 10:03:25

Winform根据鼠标移动窗体

private void MainForm_Load(object sender, EventArgs e)
{
    //绑定事件
    MouseMove += Form_MouseMove;
    MouseDown += Form_MouseDown;
}
private Point _mousePoint;
private void Form_MouseMove(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
      Top = MousePosition.Y - _mousePoint.Y;
      Left = MousePosition.X - _mousePoint.X;
    }
}
private void Form_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
      _mousePoint.X = e.X;
      _mousePoint.Y = e.Y;
    }
}

如果窗体有标题
Top -= SystemInformation.CaptionHeight;
如果有边框
Top -= SystemInformation.FormBorderSize.Height
Left -= SystemInformation.FormBorderSize.Width
页: [1]
查看完整版本: Winform根据鼠标移动窗体