如何获得Click的位置?

我正在制作一款游戏,玩家将点击其中一个单位(即图片框),并且玩家的单位位于中心,将显示一个圆圈。 (圆圈也是一个图片框)当玩家点击圆圈的图片框时,我需要弄清楚点击的位置是否在圆的半径范围内。 我的问题是如何获得点击的位置?

在点击处理程序中:

MousePosition.X MousePosition.Y 

添加示例:

  // // pictureBox1 Init // this.pictureBox1.Location = new System.Drawing.Point(1, 1); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(100, 100); 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)); } 

显示:“X:537 Y:946”

还有一件事:

带坐标的MouseEventArgs只接收MouseUp和MouseDown。

鼠标点击无法让你回头,因为点击包含MouseUp和MouseDown,它们都可以有不同的坐标。

还有一个解决方案(最好的想法)

  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 = eX; Y = eY; } 

通过Yahia的回答,我了解到EventArgs可以转换为MouseEventArgs

 private void pictureBox1_Click(object sender, EventArgs e) { MouseEventArgs e2 = (MouseEventArgs) e; MessageBox.Show(string.Format("X: {0} Y: {1}", e2.X, e2.Y)); }