You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#在Panel中移动鼠标光标定位错误,如何获取Panel正确位置?

问题根源

  • Cursor.Position 使用的是屏幕绝对坐标系,原点在屏幕左上角,而你当前代码中用到的attach坐标是Panel控件的客户端相对坐标系,原点在Panel自身的左上角,两个坐标系不匹配就会出现定位偏移。
  • 额外说明:你代码里的this.Cursor = new Cursor(Cursor.Handle);属于冗余代码,修改光标位置不需要重新初始化Cursor对象,可以直接删除。

解决方法

调用Panel控件自带的PointToScreen方法,把你要定位的Panel内部相对坐标转换成屏幕绝对坐标,再赋值给Cursor.Position即可,示例代码如下:

// 替换为你自己的Panel控件名,attach是你要定位的Panel内部相对坐标
Point screenPosition = 你的Panel控件名.PointToScreen(new Point(attach.X, attach.Y));
Cursor.Position = screenPosition;

内容的提问来源于stack exchange,提问作者arty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 19:00:01