C#如何获得屏幕上的光标坐标位置?
展开全部
我给你做了一个实例,你新建一个窗体,然后把下面语句块复制过去,运行一下程序看看效果。这个效果很有用!里面有你想要的结果,你参考一下就OK了。
#region 如果在窗体上按下鼠标左键 则光标显示呈手型; 此语句块中的两个方法可以实现窗体界面的拖动效果
private Point m; //绘制一个点,记录按下鼠标左键时的窗体的坐标位置
private void MainForm_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Cursor = Cursors.Hand;
m = e.Location;
}
else
{
this.Cursor = Cursors.Default;
}
}
//计算并重新设置窗体的位置,实现窗体界面的拖动效果
private void MainForm_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Left += e.X - m.X; //注意这里是+=赋值运算
this.Top += e.Y - m.Y;
}
else
{
this.Cursor = Cursors.Default;
}
}
#endregion
#region 如果在窗体上按下鼠标左键 则光标显示呈手型; 此语句块中的两个方法可以实现窗体界面的拖动效果
private Point m; //绘制一个点,记录按下鼠标左键时的窗体的坐标位置
private void MainForm_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Cursor = Cursors.Hand;
m = e.Location;
}
else
{
this.Cursor = Cursors.Default;
}
}
//计算并重新设置窗体的位置,实现窗体界面的拖动效果
private void MainForm_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Left += e.X - m.X; //注意这里是+=赋值运算
this.Top += e.Y - m.Y;
}
else
{
this.Cursor = Cursors.Default;
}
}
#endregion
参考资料: 编程小技 暂无参考
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用 API 方式
[DllImport("User32.dll")]
public static extern int GetCursorPos(out Point point);
public static Point ScreenCursorPosition
{
get
{
Point showPoint = new Point();
GetCursorPos(out showPoint);
return showPoint;
}
}
[DllImport("User32.dll")]
public static extern int GetCursorPos(out Point point);
public static Point ScreenCursorPosition
{
get
{
Point showPoint = new Point();
GetCursorPos(out showPoint);
return showPoint;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询