admin管理员组文章数量:1130349
前一段时间在做一个WPF项目的时候,发现一个比较神奇的问题,百思不得其解,进过N次调试和验证,终于皇天不负有心人啊,找到了解决办法;在此和大家一起分享,共同进步。
问题:关闭显示屏或者电脑休眠显示屏关闭,软件位置和大小却被改变了(在UI中,软件高度和宽度都是赋予固定的值),导致界面内容显示不全问题;
调试过程1:添加窗体SizeChanged事件调试,关闭显示器时,窗体大小未改变,但是打开显示器时,未触发SizeChanged事件,但是窗体的位置和大小却改变了;想添加“SizeChanged”事件进行解决的方法,是行不通啊。
调试过程2:关闭显示器时,会不会使窗体的焦点改变呢?想到这个,就着手对窗体焦点问题做了验证。分别在窗体中添加事件:“Activated获得焦点事件” 和 “”Deactivated失去焦点的事件”;调试后,发现关闭显示屏,不会使窗体触发焦点事件;这时候就让人抓狂了,恨自己技术不行啊,唉……
继续调试,寻找解决办法
………………
………………
查阅微软相关帮助文档后;
最终解决:采用“LocationChanged”事件处理,在软件触发该事件时,更改窗体大小和显示位置,这个问题基本算是解决了;
// 摘要: 在窗口的位置更改时发生。 public event EventHandler LocationChanged;
欢迎各位大神发表意见,有喜欢的点个赞,关注一下呗。
前一段时间在做一个WPF项目的时候,发现一个比较神奇的问题,百思不得其解,进过N次调试和验证,终于皇天不负有心人啊,找到了解决办法;在此和大家一起分享,共同进步。
问题:关闭显示屏或者电脑休眠显示屏关闭,软件位置和大小却被改变了(在UI中,软件高度和宽度都是赋予固定的值),导致界面内容显示不全问题;
调试过程1:添加窗体SizeChanged事件调试,关闭显示器时,窗体大小未改变,但是打开显示器时,未触发SizeChanged事件,但是窗体的位置和大小却改变了;想添加“SizeChanged”事件进行解决的方法,是行不通啊。
调试过程2:关闭显示器时,会不会使窗体的焦点改变呢?想到这个,就着手对窗体焦点问题做了验证。分别在窗体中添加事件:“Activated获得焦点事件” 和 “”Deactivated失去焦点的事件”;调试后,发现关闭显示屏,不会使窗体触发焦点事件;这时候就让人抓狂了,恨自己技术不行啊,唉……
继续调试,寻找解决办法
………………
………………
查阅微软相关帮助文档后;
最终解决:采用“LocationChanged”事件处理,在软件触发该事件时,更改窗体大小和显示位置,这个问题基本算是解决了;
// 摘要: 在窗口的位置更改时发生。 public event EventHandler LocationChanged;
欢迎各位大神发表意见,有喜欢的点个赞,关注一下呗。
版权声明:本文标题:WPF 电脑显示屏关闭,窗口大小位置莫名改变问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763729846a2958358.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论