c# 怎么获取 鼠标位置?
Control.PointToScreen:将指定工作区点的位置计算成屏幕坐标
Control.MousePosition: 鼠标相对于屏左上角的坐;
this.PointToClient(Control.MousePosition): 将指定屏幕点的位置计算成工作区坐标 (鼠标相对于窗体工作区的坐标);
this.Location:窗体左上角相对于屏左上角的坐标;
System.Windows.Forms.Cursor.Position:鼠标相对于屏左上角的坐标,等同于Control.MousePosition
扩展资料
用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方法,返回的是相对于屏幕的坐标。
int x = Control.MousePosition.X;
int y = Control.MousePosition.Y;
用API方法
using System.Runtime.InteropServices;
Point p;
[DllImport("user32.dll")]
public static extern bool GetCursorPos(out Point pt);
private void timer1_Tick(object sender, EventArgs e)
{
GetCursorPos(out p);
label1.Text = p.X.ToString();//X坐标
label2.Text = p.Y.ToString();//Y坐标
}