1.
采用事件委托的方法
对象:主窗体:FrmMain 加载窗体:FrmLoading
思路:
在主窗体加载前显示窗体FrmLoading,当主窗体加载完毕后(第一次显示的时候),关闭FrmLoading
C# 代码如下所示
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace CDemoTest
{
public partial class FrmMain : Form
{
private FrmLoading loadForm;
public FrmMain()
{
//创建加载窗体
loadForm = new FrmLoading();
//指定窗体加载完毕时的事件
this.Shown += FrmLoading_Close;
loadForm.Show();
//主窗体初始化方法
InitializeComponent();
}
//声明关闭加载窗体方法
private void FrmLoading_Close(object sender, EventArgs e)
{
loadForm.Close();
}
private void FrmMain_Load(object sender, EventArgs e)
{
Thread.Sleep(3000);
}
}
}
2.
1.在Main方法中,先显示启动画面,注意使用Show而非ShowDialog。
2.然后按照正常的方式,Application.Run(mainForm);
3.在mainForm的构造函数中,启动加载线程。
4.mainForm中设置一个标志,如果加载完成,该标志设置为某值。
5.作为启动画面使用的form,注意检测mainForm中的标志,如果主窗体加载完成,它自己关闭。
感觉方法比较好,记录一下。