我有一个加载了图片的图片框,我想在单击图像时读取位置(如图片框内的 x,y 中);这可能吗 ?更重要的是,我可以在鼠标悬停时读取这些坐标(点)吗?
我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针恰好所在的坐标。
我有一个加载了图片的图片框,我想在单击图像时读取位置(如图片框内的 x,y 中);这可能吗 ?更重要的是,我可以在鼠标悬停时读取这些坐标(点)吗?
我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针恰好所在的坐标。
虽然其他答案是正确的,但让我补充一下。您已经指出您需要为此目的连接MouseClick或事件。MouseOver实际上,不需要挂钩那些事件来获取Coordinates,您可以获取Coordinatesin 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;
}