我有一个图片框加载了一张图片,当我点击图片时我想要读取图片框中的位置(如x,y)这可能吗 ?更重要的是,当我将鼠标悬停时,我可以读取这些坐标(点)吗?点击图片框上的鼠标坐标
我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针碰巧的坐标。
我有一个图片框加载了一张图片,当我点击图片时我想要读取图片框中的位置(如x,y)这可能吗 ?更重要的是,当我将鼠标悬停时,我可以读取这些坐标(点)吗?点击图片框上的鼠标坐标
我知道我必须使用给定的事件(鼠标单击和鼠标悬停),但不知道如何读取鼠标指针碰巧的坐标。
如何连接MouseUp事件然后从MouseEventArgs获取位置?
像这样:
private void pictureBox_MouseUp(object sender, MouseEventArgs e)
{
Point mousePointerLocation = e.Location;
}
你可以得到的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;
}
我只是总结答案:
在MouseClick
,MouseUp
和很多其他事件你有MouseEventArgs
其中包含Location
的鼠标。
在MouseHover
但是你没有MouseEventArgs
和为此,如果你需要将光标的位置,使用编码器例如:
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;
}
虽然其他的答案是正确的,让我,我点添加到它。 您已指出您需要为此目的连接MouseClick
或MouseOver
事件。其实没必要勾选那些事件来得到Coordinates
,你可以在Click
事件本身中得到Coordinates
。
private void pictureBox1_Click(object sender, EventArgs e)
{
MouseEventArgs me = (MouseEventArgs)e;
Point coordinates = me.Location;
}
上面的代码工作,因为Click事件的e
参数封装MouseEventArgs
你可以只投它,利用它。
它只适用于变化:Point MouseLoc = e.Location;谢谢! – Razvan
是的,写完后我想出了我的错误。感谢您指出!很高兴帮助! :) – jmelhus