0

图片

我需要将轴从默认轴(黑色)转换为位于 panel1(AutoSize)上的图片框轴(红色)。任务是在世界和窗口屏幕中显示光标位置。我尝试了很多与PictureBox.Location/ Cursor.Position/ Panel.Locationetc的组合,但无法获得红色轴值。希望你能帮我解决这个问题。

到目前为止的代码:

    private void pictureBox1_MouseMove_1(object sender, MouseEventArgs e)
    {
        corX = panel1.Location.X + Cursor.Position.X - 1000;
        corY = -panel1.Location.Y - pictureBox1.Size.Height + Cursor.Position.Y + 1000;
        mousePositionX.Text = "Window Position:{X=" +corX.ToString()+'}' + ' '+"{Y="+corY.ToString()+'}';
        screen.Text = "World Postion:" + Form1.MousePosition.ToString();
    }
4

2 回答 2

0

两个窗口的左上角为 0,0,右下角宽度 -1,高度 - 1

所以缩放将是答案

如果您希望两个窗口中的位置是相同的屏幕坐标,windows 已经为您做到了...

于 2013-01-17T23:35:00.080 回答
0

对于 y 它是

    -y+pictureBox1.Bottom

其中 y 是鼠标在该黑色窗口内的 y 坐标。对于 x 它是:-x+pictureBox1.Left

于 2013-01-17T23:28:35.367 回答