У меня есть написанная мной простая заставка, которая была развернута на всех клиентских ПК нашей компании.
Поскольку большинство наших компьютеров оснащены двумя мониторами, я позаботился о том, чтобы заставка работала на обоих дисплеях.
Это работает нормально, однако в некоторых системах, где основной экран был заменен (на левый монитор), заставка работает только на левом (основном) экране.
Код ошибки ниже. Кто-нибудь может увидеть что-то, что я сделал неправильно, или лучший способ справиться с этим?
Для информации, контекст "this" - это сама заставка.
// Make form full screen and on top of all other forms
int minY = 0;
int maxY = 0;
int maxX = 0;
int minX = 0;
foreach (Screen screen in Screen.AllScreens)
{
// Find the bounds of all screens attached to the system
if (screen.Bounds.Left < minX)
minX = screen.Bounds.Left;
if (screen.Bounds.Width > maxX)
maxX = screen.Bounds.Width;
if (screen.Bounds.Bottom < minY)
minY = screen.Bounds.Bottom;
if (screen.Bounds.Height > maxY)
maxY = screen.Bounds.Height;
}
// Set the location and size of the form, so that it
// fills the bounds of all screens attached to the system
Location = new Point(minX, minY);
Height = maxY - minY;
Width = maxX - minX;
Cursor.Hide();
TopMost = true;