来自BackgroundWorker等待用户输入的对话框
本文关键字:对话框 输入 用户 BackgroundWorker 等待 来自 | 更新日期: 2023-09-27 18:03:17
我可以从BackgroundWorker打开对话框并暂停它直到用户决定吗?
MyWorker = new System.ComponentModel.BackgroundWorker();
MyWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(CopyWorker_DoWork);
MyWorker.RunWorkerAsync();
private void MyWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
int i=0;
while ((i) < collection.Count())
{
cListEntry item = collection[i];
if (item.conflicted ==true) {
Dispatcher.BeginInvoke(new Action(() =>
{
var dialog = new WindowConflict();
//Open dialog and wait for user action
if (dialog.ShowDialog() == true)
{
item.level = dialog.Response;
}
您应该使用invoke而不是begininvoke, begininvoke允许任务继续运行,但是您希望它等待。