WPF 电脑显示屏关闭,窗口大小位置莫名改变问题

前一段时间在做一个WPF项目的时候,发现一个比较神奇的问题,百思不得其解,进过N次调试和验证,终于皇天不负有心人啊,找到了解决办法;在此和大家一起分享,共同进步。

问题:关闭显示屏或者电脑休眠显示屏关闭,软件位置和大小却被改变了(在UI中,软件高度和宽度都是赋予固定的值),导致界面内容显示不全问题;

调试过程1:添加窗体SizeChanged事件调试,关闭显示器时,窗体大小未改变,但是打开显示器时,未触发SizeChanged事件,但是窗体的位置和大小却改变了;想添加“SizeChanged”事件进行解决的方法,是行不通啊。

调试过程2:关闭显示器时,会不会使窗体的焦点改变呢?想到这个,就着手对窗体焦点问题做了验证。分别在窗体中添加事件:“Activated获得焦点事件” 和 “”Deactivated失去焦点的事件”;调试后,发现关闭显示屏,不会使窗体触发焦点事件;这时候就让人抓狂了,恨自己技术不行啊,唉……

继续调试,寻找解决办法

………………

………………

查阅微软相关帮助文档后;

最终解决:采用“LocationChanged”事件处理,在软件触发该事件时,更改窗体大小和显示位置,这个问题基本算是解决了;

// 摘要:     在窗口的位置更改时发生。   public event EventHandler LocationChanged;

欢迎各位大神发表意见,有喜欢的点个赞,关注一下呗。

猜你喜欢

转载自blog.csdn.net/BYH371256/article/details/109112293