C# 获取鼠标相对当前窗口坐标的方法

发布时间:2020-01-18编辑:脚本学堂
本文介绍下,C#获取鼠标相对当前窗口坐标的方法,有需要的朋友,可以参考下。

编写客户端应用程序时,经常要用到鼠标当前的位置。
在C#的winform开发中,可以用Control.MousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标。

示例如下:
 

Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标
Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); //鼠标相对于contextMenuStrip1左上角的坐标

附,c#获取鼠标坐标
很多时候,需要用到鼠标在相对于窗体上的坐标,或相对于屏幕的坐标。

用Control.MousePosition获得当前鼠标的坐标CurrentPoint,使用Control.PointToClient方法,前面获得的CurrentPoint作为其参数,返回的Point类型的对象即为鼠标相对于某个控件的坐标。

以鼠标相对于窗体的坐标做为例子,如下:
 

Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标

同理:
 

Point button1Point= button1Point.PointToClient(Control.MousePosition); //鼠标相对于button1左上角的坐标


另外,还有Control.PointToScreen方法,返回相对于屏幕的坐标。有兴趣的朋友,可以深入研究下。