h3110w0r1d 2019-07-08 15:29 采纳率: 75%
浏览 1358
已采纳

WPF 在屏幕缩放比不是100%的情况下取窗口的Left和Top,取出来是缩放完之后的,不是以像素为单位的

电脑屏幕缩放比125%,用this.Left和this.Top取出的值是缩放完之后的。因为需要和鼠标的位置作对比,鼠标的位置是以像素为单位的,所以 怎么取窗口的实际的Left和Top(以像素为单位)。小白一枚,能给代码最好,给不了代码给个思路也可以,谢谢。

  • 写回答

2条回答 默认 最新

  • h3110w0r1d 2019-07-08 16:07
    关注

    找到了,取窗口的DPI,用的时候乘DPI/96就是像素了

    using System.Drawing;
    Graphics graphics = Graphics.FromHwnd(IntPtr.Zero);
    float DIP = graphics.DpiX;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?