我目前正在使用提到的代码在特定控件(在本例中为 toolStrip)上单击并移动鼠标时移动我的表单。
private void toolStrip1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) //Wenn die linke Maustaste gedrückt wurde,
FormMouseDownLocation = e.Location; //wird die Position der Maus gespeichert
}
private void toolStrip1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) //Wird die Linke taste gedrückt und bewegt,
{
this.Left += e.X - FormMouseDownLocation.X; //so verschiebt sich das Fenster bei jeder Bewegung um die Positionänderung der Maus (hier die X Pos)
this.Top += e.Y - FormMouseDownLocation.Y; //so verschiebt sich das Fenster bei jeder Bewegung um die Positionänderung der Maus (hier die Y Pos)
}
}
现在我有一个问题。光标的移动速度比窗体快,因此光标经常离开工具条,窗体停止移动。只有当我将此代码与除主窗体之外的控件结合使用时,才会发生这种情况。
单击另一个控件时,是否有解决此问题的方法或者更改表单位置的更好方法?
提前致谢
附加信息:我正在使用 winforms,FormBorderStyle:无