当前位置:  开发笔记 > 编程语言 > 正文

检测分辨率c#WinForms的变化

如何解决《检测分辨率c#WinForms的变化》经验,为你挑选了2个好方法。

是否有一种简单的方法可以挂钩在更改全局屏幕分辨率时触发的事件?



1> Frederick Th..:

处理以下事件:

Microsoft.Win32.SystemEvents.DisplaySettingsChanged

您可以参考此页面了解更多详情.

您可能还想在SystemEvents类上看到msdn文章.



2> Radoslav Hri..:

有两个事件- SystemEvents.DisplaySettingsChanged并且SystemEvents.DisplayedSettingsChanging,你可以处理.请注意,这两个事件都是静态的,您需要在退出程序之前分离处理程序.


"在退出程序之前,您需要分离处理程序":当然不是!一旦进程停止,无论您是否取消订阅都无关紧要...只是订阅该事件的对象将不符合GC的条件并将保留在内存中
文档说:"因为这是一个静态事件,所以在处理应用程序时必须分离事件处理程序,否则会导致内存泄漏." https://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.displaysettingschanged.aspx?f=255&MSPPError=-2147217396
推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有