启动我的应用程序时,我首先必须读取一些数据,必须初始化一些表单等等。在那个时候,用户只看到灰色正在准备显示一些表单。
这会持续几秒钟...
我想到了一个启动画面,它将数据加载到单独的线程中,并显示需要多长时间。还是只是一个状态栏?
你会怎么做这样的事情?
我正在使用 C# .NET 3.5 + Winforms
启动我的应用程序时,我首先必须读取一些数据,必须初始化一些表单等等。在那个时候,用户只看到灰色正在准备显示一些表单。
这会持续几秒钟...
我想到了一个启动画面,它将数据加载到单独的线程中,并显示需要多长时间。还是只是一个状态栏?
你会怎么做这样的事情?
我正在使用 C# .NET 3.5 + Winforms
请参阅此 CodeProject 文章:C# 中的一个非常好的启动画面
它实现了一个启动画面:
这是它的外观示例-也许您的会更漂亮。8-)
有了WindowsForm,使用Backgroundworker就更简单了。
您可以在加载过程中禁用控件,并在启动栏上显示一个进度条,标签为“正在加载数据...”。
MSDN 链接:http: //msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
如果它只持续几秒钟,那么显示等待光标应该没问题。也许可以安排主窗口尽快显示,其余的在第一次屏幕更新后开始(例如使用计时器)。这将减少感知的启动时间。
为了减少启动时间,如果不是绝对必要,您还可以考虑推迟一些启动操作。它可以稍后在后台使用计时器或按需完成。
我最近使用 Tom Clements 作为基础编写了一个类似的闪屏。看看我的启动画面,看看它是否符合您的需求。