WinForm下Splash(启动画面)制作

本代码可以依据主程序加载进度来显示Splash

 1    static class Program
 2    {
 3        /// <summary>
 4        /// 主程序的入口点在此设置,包括一些初始化操作,启动窗体等
 5        /// </summary>

 6        private static ApplicationContext context;
 7        [STAThread]      
 8        static void Main()
 9        {
10            Application.EnableVisualStyles();                       //样式设置
11            Application.SetCompatibleTextRenderingDefault(false);   //样式设置
12            Splash sp = new Splash();                               //启动窗体
13            sp.Show();                                              //显示启动窗体
14            context = new ApplicationContext();
15            context.Tag = sp;
16            Application.Idle += new EventHandler(Application_Idle); //注册程序运行空闲去执行主程序窗体相应初始化代码
17            Application.Run(context);
18        }

19        //初始化等待处理函数
20        private static void Application_Idle(object sender, EventArgs e)
21        {
22            Application.Idle -= new EventHandler(Application_Idle);
23            if (context.MainForm == null)
24            {
25                Main mw = new Main();
26                context.MainForm =mw;
27                mw.init();                                  //主窗体要做的初始化事情在这里,该方法在主窗体里应该申明为public
28                Splash sp = (Splash)context.Tag;
29                sp.Close();                                 //关闭启动窗体 
30                mw.Show();                                  //启动主程序窗体
31            }

32        }

33    }

 Splash窗体的相关属性设置:
        BackgroundImage:载入你想作为启动画面的图片;
        ControlBox:False;
        FormBorderStyle:None;
        ShowInTaskbar:False;
        StartPositon:CenterScreen.

原文地址:https://www.cnblogs.com/icejd/p/1311239.html