Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > заставка перед загрузкой программы


Автор: RWander 1.8.2007, 12:23
Создал отдельно форму для заставки.. Как сделать, чтобы она сразу выскакивала перед запуском главной формы программы, и уничтожалась после ее полной загрузки? Пробовал писать загрузку заставки непосредственно перед запуском приложения в файле Program.cs:
Код

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //заставка
            frmMiniature frm =
                new frmMiniature();
            frm.Show();   //frm.ShowDialog() тоже не подходит

            Application.Run(new frmMain());
        }
    }


получается, что заставка и главная форма загружаются почти одновременно..

пробавал также вставить код:
Код

            //заставка
            frmMiniature frm =
                new frmMiniature();
            frm.Show();   //frm.ShowDialog() тоже не подходит

в конструктор frmMain() перед InitializeComponent() и в начале события frmMain_Load() - 
эффект такой же.
 smile

Автор: thomas 1.8.2007, 21:21
RWander, 
А почему бы не использовать:
Add New Item --> Splash Screen  в Solution Explorer?
Единственнное что нужно будет потом сделать, так это поработать над внешним видом.  smile 
Я бы так сделал.

Автор: RWander 1.8.2007, 21:38
Цитата(thomas @  1.8.2007,  23:21 Найти цитируемый пост)
 Splash Screen

у меня нет такого, может потому, что я использую версию Express.. 
проблема все-еще не решена..

Автор: thomas 1.8.2007, 22:07
RWander, 
Да, в Express нет, даже в 2008.  smile  А в студии  есть.   smile 
Тогда первое что приходит на ум, глядя на твой код, это сделать задержку между 
Код

frm.Show();   //frm.ShowDialog() тоже не подходит
            Application.Run(new frmMain());

Application.DoEvent()

Автор: anonym 1.8.2007, 22:27
Вот статья с исходником
http://davidkean.net/archive/2005/02/05/291.aspx

Автор: RWander 2.8.2007, 14:46
anonym,  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)