单击时读取图片框鼠标坐标

时间:2013-08-04 07:56:18

标签: c# mouse coordinates picturebox

我有一个装有图片的图片框,我想在单击图像时读取位置(如图片框中的x,y);这可能吗 ?更重要的是,当我鼠标悬停时,我可以读取这些坐标(点数)吗?

我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针所在的坐标。

4 个答案:

答案 0 :(得分:22)

虽然其他答案是正确的,但我要加上我的观点。 您已指出需要为此目的挂钩MouseClickMouseOver个事件。实际上,没有必要将这些事件挂钩以获取Coordinates,您可以在Coordinates事件中获得Click

private void pictureBox1_Click(object sender, EventArgs e)
{
    MouseEventArgs me = (MouseEventArgs)e;
    Point coordinates = me.Location;
}

上面的代码可以工作,因为Click事件的e参数包装MouseEventArgs你可以投射它并使用它。

答案 1 :(得分:4)

我只是总结答案:

MouseClickMouseUp和许多其他事件中,您拥有MouseEventArgs,其中包含Location鼠标。

MouseHover但是你没有MouseEventArgs,因此,如果你需要光标的位置,请使用Coder示例:

  private void Form1_MouseHover(object sender, EventArgs e)
  {
     this.Cursor = new Cursor(Cursor.Current.Handle);

     int xCoordinate = Cursor.Position.X;
     int yCoordinate = Cursor.Position.Y;
  }

答案 2 :(得分:3)

您可以按如下方式获取X和Y坐标,

 this.Cursor = new Cursor(Cursor.Current.Handle);

  int xCoordinate = Cursor.Position.X;
  int yCoordinate = Cursor.Position.Y;

如果要获取图片框中的坐标,请使用以下代码

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
    int xCoordinate = e.X;
    int yCoordinate = e.Y;
}

答案 3 :(得分:1)

挂接MouseUp事件然后从MouseEventArgs获取位置怎么样?

像这样:

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