我有一个加载了图片的图片框,我想在单击图像时读取位置(如图片框内的 x,y 中);这可能吗 ?更重要的是,我可以在鼠标悬停时读取这些坐标(点)吗?
我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针恰好所在的坐标。
我有一个加载了图片的图片框,我想在单击图像时读取位置(如图片框内的 x,y 中);这可能吗 ?更重要的是,我可以在鼠标悬停时读取这些坐标(点)吗?
我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针恰好所在的坐标。
虽然其他答案是正确的,但让我补充一下。您已经指出您需要为此目的连接MouseClick
或事件。MouseOver
实际上,不需要挂钩那些事件来获取Coordinates
,您可以获取Coordinates
in justClick
事件本身。
private void pictureBox1_Click(object sender, EventArgs e)
{
MouseEventArgs me = (MouseEventArgs)e;
Point coordinates = me.Location;
}
上面的代码有效,因为 Click 事件的e
参数包装MouseEventArgs
了你可以转换它并使用它。
我只是总结一下答案:
in MouseClick
,MouseUp
以及许多其他事件,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;
}
您可以按如下方式获得 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;
}
连接 MouseUp 事件然后从 MouseEventArgs 获取位置怎么样?
像这样:
private void pictureBox_MouseUp(object sender, MouseEventArgs e)
{
Point mousePointerLocation = e.Location;
}