將窗體屬性FormBorderStyle屬性設(shè)置為None后可以通過以下方法來移動窗體。
代碼
#region 窗體移動
private Point mouseOff;//鼠標(biāo)移動位置變量
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; //點擊左鍵按下時標(biāo)注為true;
}
}
private void FrmMain_MouseMove(object sender, MouseEventArgs e)
{
if (leftFlag)
{
Point mouseSet = Control.MousePosition;
mouseSet.Offset(mouseOff.X, mouseOff.Y); //設(shè)置移動后的位置
Location = mouseSet;
}
}
private void FrmMain_MouseUp(object sender, MouseEventArgs e)
{
if (leftFlag)
{
leftFlag = false;//釋放鼠標(biāo)后標(biāo)注為false;
}
}
#endregion
使用方法:
將窗體事件與以上方法相關(guān)聯(lián)即可,同樣的如果想拖動窗體上的按鈕或者圖片也要實現(xiàn)窗體移到的話,將其事件也進(jìn)行關(guān)聯(lián)即可。
該文章在 2024/12/9 18:51:05 編輯過