Как отобразить экран приветствия в Winform? - PullRequest
3 голосов
/ 22 июня 2011

Я делаю проект формы победы (C #). В этом проекте я хочу добавить экран приветствия. Поэтому я создал экран приветствия. Но, он хочет показать несколько минут и автоматически закрыться и открыть экран входа в систему.

System.Threading.Thread.Sleep(1500);
            LogIn n = new LogIn();
            n.Show();

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

My welcome screen -

Ответы [ 3 ]

4 голосов
/ 22 июня 2011

Вот учебник , объясняющий, как сделать заставку.

2 голосов
/ 22 июня 2011

Добавить строку для заставки в Program.cs.Запустите таймер на заставке и закройте форму.

private static void Main () {

        Application.EnableVisualStyles();

        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new FSplash()); // This is your splash form << added
        Application.Run(new FMain());
    }
1 голос
/ 22 июня 2011

По моему мнению, вы не можете создать заставку в .NET для приложения .NET:

Цель заставки - отвлечь пользователей от длительного времени ожидания, пока приложение не будет загружено, запущено и инициализировано.

Поскольку само приложение .NET уже имеет некоторое время запуска, в это время недоступен заставка.

Мое решение

Итак, в своих приложениях я делаю это следующим образом:

  1. Напишите маленькое крошечное приложение на C ++.
  2. Отображение самого верхнего растрового изображения (окна без границ) при запуске приложения C ++.
  3. Пусть приложение C ++ запускает само приложение .NET.
  4. Приложение .NET запускается, и когда оно завершает запуск и инициализацию, оно сообщает приложению C ++ о закрытии. Это делается через IPC .

Межпроцессное взаимодействие выполняется следующим образом:

  1. Приложение C ++ записывает временный файл.
  2. При вызове приложения .NET имя файла передается в качестве параметра командной строки.
  3. Приложение C ++ регулярно опрашивает, существует ли файл.
  4. Приложение .NET удаляет файл, как только заставка должна быть скрыта.
  5. Приложение C ++ существует, как только временный файл больше не существует (или происходит тайм-аут).

Я знаю, что это не на 100% идеально, это было самое подходящее решение, которое я придумал, так как много лет назад начал разрабатывать приложения .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...