本代码可以依据主程序加载进度来显示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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

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