Pessoal, estou tendo o seguinte problema. Estou tentando criar uma tela do tipo "SplashScreen" para ser exibida antes da janela principal do programa abrir, pois a mesma tem um atraso durante a inicialização de alguns componentes (controles do
DevExpress). Consegui fazer isso através do uso de um ApplicationContext que abre as duas janelas, porém ao abrir a janela principal eu perco as funcionalidades de atalhos de teclado, como CTRL+N. Se eu abro esta janela primeiro, os atalhos funcionam,
mas preciso abrir o splash primeiro. Alguém sabe como solucionar o problema? Desde já agradeço.
class Program: ApplicationContext
{
private SplashScreen sp;
public Program()
{
sp = new SplashScreen();
//Inicializa form principal em outra thread e fecha o splash quando concluído
sp.background.RunWorkerAsync();
sp.Show();
sp.FormClosed += delegate
{
this.MainForm = sp.MainForm;
sp.MainForm.FormClosed += delegate { this.ExitThread(); };
this.MainForm.Show();
this.MainForm.Focus();
};
}
/// <summary>
/// Linha de execução principal do programa.
/// </summary>
[STAThread]
static void Main()
{
//Habilitando componentes visuais para uso de interface gráfica
Application.EnableVisualStyles();
//Habilitando os skins dos forms devexpress
SkinManager.EnableFormSkins();
SkinManager.EnableMdiFormSkins();
//Ajustando renderização de texto para componentes windows forms
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Program());
}
}