我會用下面的代碼做到這一點:
public partial class frmWait : Form
{
private BackgroundWorker worker;
public frmWait()
{
InitializeComponent();
this.worker = new BackgroundWorker
{
WorkerReportsProgress = true
};
this.worker.RunWorkerCompleted += WorkerOnRunWorkerCompleted;
this.worker.DoWork += WorkerOnDoWork;
this.worker.ProgressChanged += WorkerOnProgressChanged;
this.worker.RunWorkerAsync();
}
private void WorkerOnProgressChanged(object sender, ProgressChangedEventArgs e)
{
// Update UI or something else
}
private void WorkerOnDoWork(object sender, DoWorkEventArgs e)
{
// Do background-stuff here
}
private void WorkerOnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
// Actions after BackgroundWorker is done
Close();
}
}
與Button1的形式
,在按鈕的點擊事件中,你只需要:
frmWait wait = new frmWait();
wait.ShowDialog();
你使用Windows窗體或WPF? – animaonline 2013-02-22 08:30:47
好,謝謝您的反饋意見。我不會再這樣做。 @animaonline我正在使用Windows窗體應用程序 – user1903439 2013-02-22 08:36:00