3

启动我的应用程序时,我首先必须读取一些数据,必须初始化一些表单等等。在那个时候,用户只看到灰色正在准备显示一些表单。

这会持续几秒钟...

我想到了一个启动画面,它将数据加载到单独的线程中,并显示需要多长时间。还是只是一个状态栏?

你会怎么做这样的事情?

我正在使用 C# .NET 3.5 + Winforms

4

4 回答 4

9

请参阅此 CodeProject 文章:C# 中的一个非常好的启动画面

它实现了一个启动画面:

  • 在单独的线程上运行
  • 出现时淡入,消失时淡出
  • 显示使用静态方法更新的运行状态消息
  • 显示和更新预测性自校准所有者绘制的平滑渐变进度条
  • 显示加载完成前剩余的秒数

这是它的外观示例-也许您的会更漂亮。8-)

替代文字

于 2009-08-20T11:58:16.503 回答
2

有了WindowsForm,使用Backgroundworker就更简单了。

您可以在加载过程中禁用控件,并在启动栏上显示一个进度条,标签为“正在加载数据...”。

MSDN 链接:http: //msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

于 2009-08-20T12:16:42.657 回答
0

如果它只持续几秒钟,那么显示等待光标应该没问题。也许可以安排主窗口尽快显示,其余的在第一次屏幕更新后开始(例如使用计时器)。这将减少感知的启动时间。

为了减少启动时间,如果不是绝对必要,您还可以考虑推迟一些启动操作。它可以稍后在后台使用计时器或按需完成。

于 2009-08-20T13:20:44.550 回答
0

我最近使用 Tom Clements 作为基础编写了一个类似的闪屏。看看我的启动画面,看看它是否符合您的需求。

于 2009-09-21T08:05:48.103 回答