Подтвердить что ты не робот

Обнаружить изменение разрешения С# WinForms

есть ли простой способ подключиться к событию, которое запускается при изменении глобального разрешения экрана?

4b9b3361

Ответ 1

Обратите внимание на следующее событие:

Microsoft.Win32.SystemEvents.DisplaySettingsChanged

Для более подробной информации вы можете обратиться к этой странице.

Вы также можете увидеть статью msdn в классе SystemEvents.

Ответ 2

Есть два события - SystemEvents.DisplaySettingsChanged и SystemEvents.DisplayedSettingsChanging, которые вы можете обрабатывать. Обратите внимание, что оба события являются статическими, и вам нужно будет отключить обработчики перед выходом из вашей программы.

Ответ 3

Уверен, что вам не нужно отказаться от подписки на статические события (или любые события), если ваша программа (процесс) умирает. ОС позаботится о том, чтобы освободить всю память вашего процесса в ОС. Однако, если вы подписаны на статическое событие или какое-либо событие, указывающее на объект с более длительным сроком службы, чем ваш подписчик на объект, и вы хотите, чтобы этот объект имел право на GC - вам нужно отказаться от подписки (- =) на событие.

И всегда полезно всегда отказаться от подписки на все события. Вы никогда не знаете, когда срок жизни ваших объектов изменяется (кем-то другим) в течение срока службы вашего исходного кода/продукта...