Esta pregunta se puede abordar de variadas maneras, sin embargo te damos la resolución más completa en nuestra opinión.
Solución:
En su controlador de clics, haga lo siguiente:
MousePosition.X
MousePosition.Y
Ejemplo:
//
// 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));
Muestra: “X: 537 Y: 946
“
Una cosa más:
los MouseEventArgs
con coordenadas solo recibe MouseUp
y MouseDown
. A MouseClick
no puede recibir sus coordenadas, porque un clic consiste en un MouseUp
y un MouseDown
y ambos pueden tener diferentes coordenadas.
Una solución más (creo que esta es la mejor):
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;
utilizar el MouseClick
evento de la PictureBox
por este tipo de cosas…
ver
http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.mouseclick.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.mouseeventargs.aspx
Finalizando este artículo puedes encontrar las ilustraciones de otros sys admins, tú de igual forma eres capaz insertar el tuyo si lo crees conveniente.