none
Form secundário perde atalhos de teclado RRS feed

  • Pergunta

  • 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());
            }
        }

    quarta-feira, 5 de fevereiro de 2014 10:43