场景:我的应用程序中有一个DataGrid
,其中onclikcing
每一行的值都填充在texboxes
下面。我将更新这些值,单击保存时,该过程需要更多时间才能完成。
所以我写了一个后台工作者来让这个进程运行asynchronously
。单击每一行时,会backgroundworker
创建一个实例并完成该过程。在该更新期间,用户将选择网格的第二行并更新该值。所以这将创建另一个实例,并且该进程将在后台运行。
现在,如果用户选择网格的第一行,则两个更新过程都在运行时,应该会显示一条消息,显示“该过程仍在运行”。
//代码:
' 事件的 OnClick
var bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.DoWork += delegate {
SaveDetails();
};
bw.RunWorkerCompleted += delegate {
MessageBox.Show("Completed");
};
bw.RunWorkerAsync();
'保存方法
public void SaveDetails()
{
for (int i = 0; i < 10;i++ )
{
System.Threading.Thread.Sleep(5000);
MessageBox.Show("Hi");
}
}
如何访问先前创建的后台工作实例并检查进程状态并显示消息?
注意:可能有许多进程同时运行,所以我应该能够访问任何进程。
这可能吗?