我已经寻找了一段时间,但没有找到解决我的问题的答案。
在我的程序中,有一个任务需要几秒钟的时间,我想在执行该任务时显示一个新的表单。新表单具有加载栏和一些文本。
我需要并行显示新表单和任务,否则任务将不会开始,直到我关闭新表单。
这是我现在的解决方案:
private void loadingBar()
{
frmLoading frm = new frmLoading("Please wait while the database is being backed up", "This might take several days.");
frm.ShowDialog();
}
public void Backup()
{
Thread load = new Thread(new ThreadStart(loadingBar));
load.Start();
///Execute a task.
load.Abort();
}
所以,这个方法可以正常工作,但我的问题是:在加载线程中关闭表单“frm”是否更好?
backgroundWorker
?另外,您可能需要考虑将线程的代码放在Using()
语句中,这样它完成时会自行释放。 - Hexie