给程序添加启动画面(C#.net )

来源:互联网 发布:网络枪战游戏大全 编辑:程序博客网 时间:2024/05/17 03:18

  今天做maximo项目,遇到了需要做启动画面,查了不少资料,这篇不错,贴过来了。

  知识分享,版权归原作者所有。

————————————————————————————————————————————

  如果程序在装载时需要进行较长时间的处理,最好使用启动画面,一方面美化程序,一方面可以不使用户面对着一片空白的程序界面。
我手头上一个小项目主界面启动时需要检查用户文件及运行环境是否有效,需要一段时间处理,因此想到要添加一个启动画面,在网上搜了一阵,发现下面两个方案:

1、用C#给程序加启动画面并只允许一个应用程序实例运行
http://www.zahui.com/html/14/36790.htm
2、HOW TO:溅射屏幕(Splash Screen),也叫程序启动画面的制作(.NET2003)
http://lzmtw.cnblogs.com/archive/2005/10/31/265782.html

第一个方案在实现与界面分离上做得不够好,启动界面(一个窗体)依赖于特定窗体,主窗体还必须添加一个PreLoad方法完成装载任务,只能在代码级重用。而且那个只允许一个实例的写法也太....

第二个方案框架很好,但细微处理可能存在一点问题,需要判断主窗体的WindowState,
整个代码也较复杂。

我改动了一下,基本结构仿照第二个方案。

功能:
为程序添加启动界面,显示启动界面的同时加载主窗体,主窗体加载完毕后关闭启动界面,显示主窗体。启动画面停留的时间是设定的时间和主窗体装载所需时间两个的最大值。启动画面
在另一个线程上运行。
plus:我的水平还很差,见笑。

程序代码如下:

 

 

使用方法:定义一个启动类,应用程序从启动类启动,该类会使用继承自启动窗体虚基类的一个启动窗体类,在该类中定义启动窗体和主窗体。启动窗体和主窗体的代码略去,注意要删除机器生成的窗体代码的Main方法部分。

 

本例程已经调试成功。

原创粉丝点击