將窗體屬性FormBorderStyle屬性設置為None后可以通過以下方法來移動窗體。
代碼
#region 窗體移動
private Point mouseOff;//鼠標移動位置變量
private bool leftFlag;//標簽是否為左鍵
private void FrmMain_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseOff = new Point(-e.X, -e.Y); //得到變量的值
leftFlag = true; //點擊左鍵按下時標注為true;
}
}
private void FrmMain_MouseMove(object sender, MouseEventArgs e)
{
if (leftFlag)
{
Point mouseSet = Control.MousePosition;
mouseSet.Offset(mouseOff.X, mouseOff.Y); //設置移動后的位置
Location = mouseSet;
}
}
private void FrmMain_MouseUp(object sender, MouseEventArgs e)
{
if (leftFlag)
{
leftFlag = false;//釋放鼠標后標注為false;
}
}
#endregion
使用方法:
將窗體事件與以上方法相關聯即可,同樣的如果想拖動窗體上的按鈕或者圖片也要實現窗體移到的話,將其事件也進行關聯即可。
該文章在 2024/12/9 18:51:05 編輯過