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方法,返回的是相对于屏幕的坐标。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-28
.Net封装好的方法

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坐标
}本回答被网友采纳
第2个回答  2012-04-29
getHouse 属性