C#中获取当前鼠标的位置

脑中有飞鸟 2012-04-19 08:37:35
我想做一个功能,就是鼠标点击的时候在鼠标的做标出画一幅图。可是在坐标获取时候发生了一点问题.
我用的是
Point.Y = Cursor.Position.Y - this.location.Y;
Point.X = Cursor.Position.X - this.location.X;

可是这样得到的坐标还是有问题,因为窗体边框没有算进去,所以我想问一下,怎么才能计算出正确的坐标值呢??
...全文
4512 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄大仙儿 2014-04-02
  • 打赏
  • 举报
回复
引用 9 楼 OROCHIHeart 的回复:
[Quote=引用 7 楼 的回复:] //鼠标相对于屏幕的坐标 Point p1 = MousePosition; //鼠标相对于窗体的坐标 Point p2 = this.PointToClient(p1); [/Quote] +1 学习!
+1学习~
orochiheart 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

//鼠标相对于屏幕的坐标
Point p1 = MousePosition;
//鼠标相对于窗体的坐标
Point p2 = this.PointToClient(p1);
[/Quote]
+1 学习!
wy811007 2012-04-20
  • 打赏
  • 举报
回复
用api吧 可以准确获取鼠标坐标的
rayyu1989 2012-04-20
  • 打赏
  • 举报
回复
//鼠标相对于屏幕的坐标
Point p1 = MousePosition;
//鼠标相对于窗体的坐标
Point p2 = this.PointToClient(p1);
crystal_lz 2012-04-20
  • 打赏
  • 举报
回复
那个什么MousePosition是屏幕坐标
如果 我没有记错 在EventArgs里面可以提取
如果你是 e.X 和 e.Y 是客户区坐标
- -!、、凭空记忆的、、、没有试过、、应该没有记错 你试试吧
「已注销」 2012-04-19
  • 打赏
  • 举报
回复
计算一下窗口边框,手动修正怎么样
脑中有飞鸟 2012-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

this.pointtoclient();
[/Quote]THx
linye523 2012-04-19
  • 打赏
  • 举报
回复 1
MousePosition.X和 MousePosition.Y
feixuyue 2012-04-19
  • 打赏
  • 举报
回复
this.pointtoclient();
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在C#编程获取鼠标当前位置是一项基础且关键的任务,尤其在开发桌面应用程序时。本文将探讨如何用C#实现这一功能,并结合示例代码进行解析。Windows Forms的System.Windows.Forms命名空间有一个名为Cursor的类,它提供了获取鼠标位置的方法。通过Cursor.Position属性,可以获取鼠标在屏幕上的X和Y坐标,返回值是一个Point对象。以下是一个简单的控制台程序示例,展示如何获取并输出鼠标位置: 在这个示例,程序通过无限循环不断读取鼠标位置并打印到控制台。用户按下“S”键时,程序退出。虽然这个示例是基于控制台的,但在Windows Forms应用,该功能通常会集成到事件处理,例如在窗体的MouseMove事件更新鼠标位置。 假设提供的源码包含一个解决方案文件(GetMouseCoor.sln)、用户选项文件(GetMouseCoor.suo)和项目文件(GetMouseCoor.cs)。.sln文件存储项目配置信息,.suo文件保存用户设置,而项目文件可能包含类似以下的代码: 在这个例子,MainForm的构造函数注册了MouseMove事件。当鼠标在窗体内移动时,MainForm_MouseMove方法会被触发,获取鼠标在窗体内的位置并输出。通过这种方式,开发者可以在Windows Forms应用实现复杂的交互功能。 总结来说,C#获取鼠标位置主要通过Cursor.Position属性实现,适用于控制台程序和Windows Forms应用。开发者可以通过事件处理机制在Windows Forms实现更丰富的用户交互功能。

111,118

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧