C # Как заставить экран с косой чертой отображаться на основном дисплее в системе с двумя мониторами? - PullRequest
13 голосов
/ 20 сентября 2010

Я столкнулся с проблемой при отображении заставки в системе с двумя мониторами. Когда я запускаю приложение на основном экране, а затем указатель мыши перемещается на второй монитор перед отображением заставки, мой заставка «следует» за указателем мыши. Это означает, что заставка отображается на 2-м дисплее, и после того, как она завершает свою работу, исчезает, и приложение отображается на основном мониторе. Это выглядит довольно уродливо и непрофессионально.

Я попытался установить свойство FormStartPosition.CenterScreen в свойствах формы и установить его во время выполнения в конструкторе моей формы, но ничего из этого не сработало. Кстати, я использую C #.

Есть ли какие-либо советы, чтобы экран-заставка отображался на том же мониторе, что и мое приложение?

Любая помощь будет высоко оценена.

Привет, Victor

1 Ответ

7 голосов
/ 20 сентября 2010

В режиме Main необходимо принудительно запустить форму на основном мониторе. Вот как открыть форму в (0, 0) на основном мониторе.

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        Form1 f = new Form1();
        f.StartPosition = FormStartPosition.Manual;
        f.Location = Screen.PrimaryScreen.Bounds.Location;

        Application.Run(f);
    }
...