In your click handler, do:
MousePosition.X
MousePosition.Y
Example:
//
// pictureBox1 Init
//
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
private void pictureBox1_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("X: {0} Y: {1}", MousePosition.X, MousePosition.Y));
}
Shows: "X: 537 Y: 946
"
One more thing:
The MouseEventArgs
with coordinates only receives MouseUp
and MouseDown
. A MouseClick
can't receive your coordinates, because a click consists of a MouseUp
and a MouseDown
, and both can have different coordinates.
One more solution (I think this is best):
private int X;
private int Y;
private void pictureBox1_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("X: {0} Y: {1}", X, Y));
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
X = e.X;
Y = e.Y;
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…