1

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

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

2 ответа2

1

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

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .