当前位置 : 主页 > 编程语言 > c语言 >

c# – 加载数据并在此期间显示启动画面

来源:互联网 收集:自由互联 发布时间:2021-06-25
我需要从db4o数据库加载一些数据,这在我的应用程序启动时需要1或2秒,其余的必须等待,因为首先必须加载数据.在自己的线程中执行此操作意味着其余的必须等待线程完成.我想在加载数
我需要从db4o数据库加载一些数据,这在我的应用程序启动时需要1或2秒,其余的必须等待,因为首先必须加载数据.在自己的线程中执行此操作意味着其余的必须等待线程完成.我想在加载数据期间做一个启动画面或其他东西,因为还需要一个自己的线程,对吗?你会怎么做?

我正在使用csharp,.net 3.5和winforms

在启动时显示启动画面很容易.在应用程序的Main()方法(在Program.cs中)中,在Application.Run(…)行之前放置类似的东西:

SplashForm splashy = new SplashForm();
splashy.Show();
Application.Run(new MainForm(splashy));

修改主窗体的代码和构造函数,使其看起来像这样:

private SplashForm _splashy;
public MainForm(SplashForm splashy)
{
    _splashy = splashy;
    InitializeComponent();
}

然后在MainForm的Load事件结束时(可能包含数据库代码),输入以下代码:

_splashy.Close();
_splashy.Dispose();

如果您选择使用单独的Thread或BackgroundWorker进行数据库访问,那么您实际上并不需要启动屏幕,因为您需要在BackgroundWorker正在执行其操作时出现的某种进度指示器表单.这与我在这里的答案不同.

网友评论