Есть две формы: одна - главная рабочая область, вторая - splash screen. Код такой(основные функции: таймер и конструктор главной формы):
Конструктор главной формы:
this->Hide();
SimpleReplacment::SplashScreen^ splashScreen = gcnew SimpleReplacment::SplashScreen();
splashScreen->Show();
if (splashScreen->Opacity <= 0) {
delete splashScreen;
this->Show();
}
Таймер splash screen:
this->Opacity -= 0.05;
if (this->Opacity <= 0) {
timer_loading->Enabled = false;
this->Enabled = false;
this->Close();
}
Проблема в том, что при загрузке главной формы она появляется сразу, т.к. условие одноразовое, но если я сделаю цикл поверх блока кода с условием, то не будет выполняться код побочной формы. Что нужно сделать?
Почему Вы не открываете сразу splash screen при запуске приложения, которая (по завершению таймера...) откроет главную форму? Splash screen:
this->Opacity -= 0.05;
if (this->Opacity <= 0) {
timer_loading->Enabled = false;
MainForm->Show(); // like this
this->Enabled = false;
this->Close();
}
А в настройках проекта указать, чтобы запуск был с другой формы.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей