我有一个基于Winforms C#的MDI应用程序,并且我有3个表单
如果在BaseView中看到,我正在使用Task在不冻结UI的情况下将数据加载到后台线程中,这很好,并且应用程序迅速显示出来。现在的问题是,虽然这种数据加载是在后台进行的,但是我正在打开我的子窗体,但是由于后台线程仍在工作,因此子窗体无法获得Db连接,无论如何,我是否可以对我的子表单现在已经设置了后台Db连接,现在子表单可以加载数据了。 还是我应该改变实现这一目标的方式。
请咨询。
public partial class BaseView : Form
{
public BaseView()
{
var firstTimeInitializationTask = new System.Threading.Tasks.Task(() => { FirstTimeInitialization(); });
firstTimeInitializationTask.Start();
}
private void FirstTimeInitialization()
{
Thread.Sleep(10000); // just put this for testing purpose
DbConnection.Connect(CommonRoutines.DbConnectionString);
}
}