C# 窗体拖动及最小化

// 拖动一个label 设置背景色为透明,不添加文字 添加以下代码

private bool m_isMouseDown = false;

private System.Drawing.Point m_mousePos = new System.Drawing.Point();

private void label4_MouseDown(object sender, MouseEventArgs e)

{

     base.OnMouseDown(e);

     m_mousePos = System.Windows.Forms.Cursor.Position;

     m_isMouseDown = true;

}

 

private void label4_MouseMove(object sender, MouseEventArgs e)

{

      base.OnMouseMove(e);

      if (m_isMouseDown)

      {

          System.Drawing.Point tempPos = System.Windows.Forms.Cursor.Position;

          this.Location = new System.Drawing.Point(Location.X + (tempPos.X - m_mousePos.X), Location.Y + (tempPos.Y - m_mousePos.Y));

          m_mousePos = System.Windows.Forms.Cursor.Position;

       }

}

 

private void label4_MouseUp(object sender, MouseEventArgs e)

{

       base.OnMouseUp(e);

       m_isMouseDown = false;

}

 

// 窗体最小化

private void button15_Click(object sender, EventArgs e)

{

       if (this.WindowState == FormWindowState.Minimized)

       {

            this.WindowState = FormWindowState.Normal;

       }

       else

       {

           this.WindowState = FormWindowState.Minimized;

       }

}

原文地址:https://www.cnblogs.com/oftenlin/p/2934774.html