C# Splash窗口的简单实现方法

时间:2010年04月12日 点击:866

前不久为了给我的智动邮件搜索加个Splash窗口来增加用户的体验,于是就立马上网搜了许多关于C# 实现Splash的方法,下面简单介绍下这些方法,最后再介绍我自己原创的比较简单而实用的方法:

第一种、VB.NET库官方方法实现的,这种方法缺点就是太麻烦,而且还要引入VB库,感觉不是调用一个方法能解决要做很多重写之类的事才能实现splash窗口

第二种、这种好像是在那个英文网站传出来的, 叫什么我记不起来了很出名的一个,就是写一个公共的SPLASH类,然后类中用个线成以ShowDialog方式出现SPALSH窗口,这种方法可能在VS2003下运行没问题,可我在2005下一脱离VS环竟运行就会出现BUG了,一关SPALSH窗口后主窗口会打不开

最后我还是自己想了个简单的方法,现在也在用,以上方法个人感觉问题太多就没写代码出来了,
我的方法是在Program的主函数main()中来窗建一个SPALSH窗口,其实就是个一般的FORM,然后直接以普通方式显示,因为这样这个窗口会一直存在,然后你就可以处理你的初始化工作,并创建主窗体,最后在显示主窗体运行前先把Splash窗口关了就行了,也不用特别的引用什么类什么的,非常方便,以下是源码(转载注明来自www.zdexe.com谢谢):

static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(
false);
F_Splash f
= new F_Splash();//你可以下在设计器中设计好该窗口
f.Show();
f.Refresh();
//这里不刷新的话LABEL的字就不能更新了
Label fl = (Label)f.Controls["g_Back"].Controls["g_Info"];//这里指向SPLASH窗口中的Label
fl.Text = "主窗口加载中..";
System.Threading.Thread.Sleep(
20);
f.Refresh();
F_Main fm
= new F_Main();
fl.Text
= "初开始化完成..";
f.Refresh();
f.Close();
//初开始化完成后关闭SPLASH
f.Dispose();
System.Threading.Thread.Sleep(
20);
Application.Run(fm);
}
}
}
www.zdexe.com

赞助商链接

热门内容

相关内容

联系我们

联系方式