启动画面示例

时间:2010-03-16 15:31:46

标签: c#

我只想要一个简单的Splash Screen示例。

获取代码,插入我的图片,添加2行代码加载并完成。

但我只能谷歌这么复杂,太多了。我只想要一张图片越来越透明,直到它自动隐藏并显示我的窗口。

我尝试过Codeproject的“prettygoodsplashscreen”,但不适合我。

Lang是c#.net 2.0

2 个答案:

答案 0 :(得分:10)

创建初始屏幕可能与您想要的一样简单或复杂。

private void Form1_Load(object sender, System.EventArgs e)
{
    // Display the splash screen
    var splashScreen = new SplashForm();
    splashScreen.Show()

    // On the splash screen now go and show loading messages
    splashScreen.lblStatus.Text = "Loading Clients...";
    splashScreen.lblStatus.Refresh();

    // Do the specific loading here for the status set above
    var clientList = _repository.LoadClients();

    // Continue doing this above until you're done

    // Close the splash screen
    splashScreen.Close()
}

显然,Splash Screen本身就是你必须决定你想要它的样子......

答案 1 :(得分:2)

为了使您的启动画面成为区域启动画面,除了显示其正在执行的操作(例如,加载客户端)或通过ProgressBar控件显示应用程序启动的进度之外,它不应该有其他代码。

以下是步骤:

  1. 实例化BackgroundWorker,您将在BackgroundWorker.DoWork()方法中启动加载;
  2. 在您的主Form_Load()事件中,调用BackgroundWorker.RunWorkerAsync()方法;
  3. 仍然在您的Form_Load()事件中,在您调用RunWorkerAsync()之后,实例化并向您的用户显示启动画面SplashForm.ShowDialog()
  4. 从LoadClient()方法中报告进度,例如,使用BackgroundWorker.ProgressChanged()事件(您也可以报告BackgroundWorker正在做什么(“加载客户端......”);
  5. 在您的RunWorkerCompleted()事件中,您可以使用Splash.Close()启动屏幕表单。
  6. 稍后我会补充一些细节。现在必须走了。