Граница окна Visual Studio 2012 просачивается на другой экран

Граница окна Visual Studio 2012 просачивается на другой экран

У меня несколько 30-дюймовых мониторов, и поэтому я использую сочетание клавиш Win+Left/Right для размещения окон по левой и правой стороне каждого экрана. Я заметил раздражающую особенность Visual Studio 2012: она как будто «перетекает» на следующий экран. Я вижу линию на соседнем экране, как будто край окна немного выходит за границу. Кто-нибудь еще это видит? Это ошибка?

Это на Windows 7 64 бит. Я никогда не видел этого ни с одним другим приложением.

решение1

Я не уверен, что это можно считать "багом"; скорее побочным эффектом способа, которым Visual Studio 2012 рисует светящиеся границы окон. Каждая из верхней, левой, правой и нижней границ на самом деле является отдельным окном с именем класса "VisualStudioGlowWindow"; вы можете использовать Spy++, чтобы проверить это.

Согласно Spy++, четыре окна с тенями скрыты, когда главное окно развернуто. Поскольку пристыковка главного окна к одному из краев экрана с помощью Aero не является полностью «развернутым» состоянием окна, код, управляющий теневыми окнами, не скрывает их, и они в итоге «просачиваются» на соседний монитор.

Было бы интересно посмотреть, сохранится ли эта проблема в Windows 10, поскольку функция светящейся границы встроена в операционную систему в этой версии и должна управлять собой соответствующим образом, когда окно развернуто. К сожалению, у меня нет конфигурации с несколькими мониторами в Windows 10, чтобы проверить это.

решение2

Меня это тоже беспокоило, поэтому я сделал небольшую утилиту на основе указания Майклом особого имени класса. Конфигурация по умолчанию должна автоматически скрывать все новые свечения Visual Studio каждые 5 секунд. Дайте мне знать, если вы столкнетесь с какими-либо препятствиями!

https://github.com/9001/windowhider/releases

Связанный контент