WPF BackgroundWorker进程多次调用RunWorkerCompleted,为什么?

时间:2010-04-09 15:05:26

标签: wpf backgroundworker messagebox

我有一些代码可以在我的WPF应用程序中启动搜索的后台进程:

 private void RunSearch(SearchArguments arguments)
    {
        _getSearchResults.DoWork += GetSarchFromDb;
        _getSearchResults.RunWorkerCompleted += SearchFinished;
        _getSearchResults.RunWorkerAsync(arguments);
    }

RunSearch从button_click事件中退出。

我的SearchFinished方法中有一个消息框,显示“找不到结果”。出于某种原因,有时会多次调用SearchFinished方法,这会导致显示多个MessageBox。有解决方法吗?

1 个答案:

答案 0 :(得分:2)

稍稍张贴了枪,冲了枪。

由于我点击按钮点击事件,每次单击按钮时,事件执行的次数都会增加。我把电线移到了构造函数上,我的问题得到了解决。