如何在form1鼠标输入事件中获取鼠标坐标X和Y?

时间:2014-06-30 15:22:07

标签: c# .net winforms

private void Form1_MouseEnter(object sender, EventArgs e)
{

}

e没有属性XY

我想当鼠标光标移动到控件上时它会做一些事情。

3 个答案:

答案 0 :(得分:7)

您可以使用Cursor.Current静态属性获取当前光标位置:

var x = Cursor.Current.Position.X;
var y = Cursor.Current.Position.Y;

请注意,MouseEnter事件仅在光标进入控制边界时触发。这可能是你想要的,但是你的最后一句话似乎表明你想知道鼠标在控件内移动的时间。在这种情况下,MouseMove可能是更适合处理的事件。

答案 1 :(得分:3)

使用Control.MousePosition静态属性,如下所示:

void Form1_MouseEnter(object sender, EventArgs e) {
    Point screenPosition = MousePosition; 
    Point clientPosition = PointToClient(screenPosition);
}

答案 2 :(得分:2)

private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        Point p = e.Location;
    }