フォームをマウスで移動

private Point mousePoint;

private void Form1_MouseDown(object sender,
   System.Windows.Forms.MouseEventArgs e)
{
   if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
   {
       //位置を記憶する
       mousePoint = new Point(e.X, e.Y);
   }
}

private void Form1_MouseMove(object sender,
   System.Windows.Forms.MouseEventArgs e)
{
   if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
   {
       this.Left += e.X - mousePoint.X;
       this.Top += e.Y - mousePoint.Y;
       //または、つぎのようにする
       //this.Location = new Point(
       //    this.Location.X + e.X - mousePoint.X,
       //    this.Location.Y + e.Y - mousePoint.Y);
   }
}
最終更新:2010年08月04日 21:04