將窗體屬性FormBorderStyle屬性設(shè)置為None后可以通過以下方法來移動(dòng)窗體。

代碼
#region 窗體移動(dòng)
private Point mouseOff;//鼠標(biāo)移動(dòng)位置變量
private bool leftFlag;//標(biāo)簽是否為左鍵
private void FrmMain_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseOff = new Point(-e.X, -e.Y); //得到變量的值
leftFlag = true; //點(diǎn)擊左鍵按下時(shí)標(biāo)注為true;
}
}
private void FrmMain_MouseMove(object sender, MouseEventArgs e)
{
if (leftFlag)
{
Point mouseSet = Control.MousePosition;
mouseSet.Offset(mouseOff.X, mouseOff.Y); //設(shè)置移動(dòng)后的位置
Location = mouseSet;
}
}
private void FrmMain_MouseUp(object sender, MouseEventArgs e)
{
if (leftFlag)
{
leftFlag = false;//釋放鼠標(biāo)后標(biāo)注為false;
}
}
#endregion
使用方法:
將窗體事件與以上方法相關(guān)聯(lián)即可,同樣的如果想拖動(dòng)窗體上的按鈕或者圖片也要實(shí)現(xiàn)窗體移到的話,將其事件也進(jìn)行關(guān)聯(lián)即可。

該文章在 2024/12/9 18:51:05 編輯過