我有一个Windows表单应用程序。当我按下Draw按钮时,它会画一条线:
private void button1_Click(object sender, EventArgs e)
{
projectilePathPen = new Pen(Color.Black, 2);
projectilePathGraphics.DrawLine(projectilePathPen, 150, 150, 450, 150);
}
我有一个表格的鼠标移动事件(获取当前鼠标的坐标):
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
this.Cursor = Cursors.Cross;
int actualX, actualY;
actualX = Cursor.Position.X - 150;
actualY = 150 - Cursor.Position.Y;
labelX.Text = "Actual X: " +actualX.ToString();
labelY.Text = "Actual Y: " + actualY.ToString();
}
Whenerever我放置了这个光标,它给了我错误的值。我把它放在刚开始画线的开头,它没有按照预期的那样给出(0,0)。
答案 0 :(得分:1)
替换这些行:
actualX = Cursor.Position.X - 150;
actualY = 150 - Cursor.Position.Y;
用这些:
actualX = e.X - 150;
actualY = 150 - e.Y;
e.X
和e.Y
为您提供光标相对于panel1
的本地位置,而Cursor.Postion
是光标在屏幕上的全局位置。