如何获取电脑屏幕的鼠标事件,类似窗体有MouseMove事件,那屏幕的MouseMove事件什么获取?我想做的功能:无边框的form窗体移动功能,窗体顶有一个toolStrip控件(类似有边框窗体的标题栏),
toolStrip控件有MouseMove事件,但只要我移动的速度快,鼠标就会离开toolStrip控件(也就是离开窗体,MouseMove事件就无效),现在若能获取电脑屏幕的鼠标MouseMove事件好就好办有做过的朋友说一下如何获取电脑屏幕的鼠标MouseMove事件,非常感谢是屏幕 鼠标移动事件,不是窗体的鼠标移动事
toolStrip控件有MouseMove事件,但只要我移动的速度快,鼠标就会离开toolStrip控件(也就是离开窗体,MouseMove事件就无效),现在若能获取电脑屏幕的鼠标MouseMove事件好就好办有做过的朋友说一下如何获取电脑屏幕的鼠标MouseMove事件,非常感谢是屏幕 鼠标移动事件,不是窗体的鼠标移动事
当一个窗体加载后,我按下toolStrip控件(引发toolStrip1_MouseDown,我做一个会标识),这个时候当鼠标在电脑屏幕移动时,我想获取屏幕的移动事件,这样实现窗体的移动。
如果用toolStrip1_MouseMove事件的话,只要鼠标移动快,鼠标就会离开toolStrip1,这样toolStrip1_MouseMove会失效
比如说移到页面哪个部分。。给这个部分绑定上movsemove事件。。你说的这个就是关键,速度快鼠标就会离开窗体,那我要绑定哪个的movsemove事件?
所以我就想找屏幕的movsemove事件才能解决
Point formPoint;
private void toolStrip1_MouseDown(object sender, MouseEventArgs e)
{
mousePoint = Control.MousePosition;
formPoint = this.Location;
} private void toolStrip1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point mousePos = Control.MousePosition;
this.Location = new Point(mousePos.X - mousePoint.X + formPoint.X, mousePos.Y - mousePoint.Y + formPoint.Y);
}
}上面代码是用 toolStrip控件 代替有边框窗体的标题栏,但移动速度快就没用
哎,我是做winform滴 ,好伤心
{
InitializeComponent(); this.Capture = true;//设置
} #region 移动窗口
Point mousePoint; // 窗体的屏幕坐标
Point formPoint;
private void toolStrip1_MouseDown(object sender, MouseEventArgs e)
{
this.Capture = true;
}
private void FmMessage_MouseDown(object sender, MouseEventArgs e)
{
mousePoint = Control.MousePosition;
formPoint = this.Location;
}
private void FmMessage_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point mousePos = Control.MousePosition;
this.Location = new Point(mousePos.X - mousePoint.X + formPoint.X, mousePos.Y - mousePoint.Y + formPoint.Y);
}
}
#endregion
感谢各位进来朋友的关注和支持,根据 16# 的说法得到一个解决方案,虽然还不是很好,但能随意移动了结贴给分了,各位万福!!!!!