【问题标题】:Calculating Cursor Position in c#在 C# 中计算光标位置
【发布时间】:2011-01-23 00:33:25
【问题描述】:

大家好 我有一个带有面板的表单。 我想根据光标位置移动图像。 我有鼠标悬停功能,但我该如何正确计算?因为光标位置来自显示器,而图片框来自面板

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    您可以使用Control.PointToClient 方法将屏幕坐标转换为本地坐标。如果您关注 MSDN 链接,则有一个很好的示例说明了如何执行此操作。

    Point localCoordinates = myPictureBox.PointToClient(mouseScreenCoordinates);
    

    【讨论】:

    • 它仍然无法按我的意愿工作。因为每次我移动应用程序的位置都会改变。
    • private void panelBoardGame_MouseEnter(object sender, EventArgs e) { Point tempPoint = new Point(Cursor.Position.X, Cursor.Position.Y); m_PictureBoxCoin.PointToClient(tempPoint); }
    • 您能否更详细地解释一下您要做什么。我不知道如何为您提供迄今为止提供的信息提供帮助。
    • MouseEnter 在鼠标光标进入控件时发生一次。您想在鼠标移动时继续移动图片吗?我认为在这种情况下你应该使用MouseMove 事件。
    • 我试图在鼠标在面板内移动时移动图像。我有一个 Windows 应用程序,里面有一个表单。在表格内部,我有一个带有标签的面板将其全部覆盖。我添加了一个带有图像的图片框。并将其添加到面板中,然后我将其带到了前面。现在我想根据光标位置更改图片框位置,以便图片框根据光标移动。问题是光标 x,y 坐标从显示器的左上角开始,而图片框 x,y 从面板的左上角开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多