您的位置:首页 > 编程语言 > C#

程序启动时显示Flash窗体(C#)

2008-08-31 16:59 288 查看
我们经常会在Form的Loading事件中做很多事情(例如,加载字典数据等),但我们发现这回消耗大量的时间,而且会因为无法预估完成的时间,我们的第一个界面都被锁住直到Loading被完成为止.为用户带来最好的使用体验,我们应该加入一个Flash Form.但看过很多程序员的程序,Flash Form仍然是被线程锁住的。在这篇文章我提出我的实现,我使用的是:

Application.Idle 事件,当应用程序完成处理并即将进入空闲状态时发生.

以下是我的参考实现。

//定义程序的上下文

private static ApplicationContext context;

//定义Flash窗体

private static FlashForm flashForm;

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main()

{



context = new ApplicationContext();

flashForm = new FlashForm();

//绑定Idle事件处理,程序闲时事件,在这里用作FlashForm展示完成后运行代码段.

Application.Idle += new EventHandler(Application_Idle);

flashForm.Show();

Application.Run(context);

}

static void Application_Idle(object sender, EventArgs e)

{

//清除Idle事件处理绑定

Application.Idle -= new EventHandler(Application_Idle);

//创建主窗体

Form1 form = new Form1();

context.MainForm = form;

Application.DoEvents();

//显示主窗体

context.MainForm.Show();

Application.DoEvents();

//关闭Flash窗体

flashForm.Close();

}

现在你要做的就是美化你的Flash Form了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: