奇怪的BackgroundWorker问题

时间:2017-07-09 12:00:09

标签: c# backgroundworker

首先是我的代码:

public Main()
{
    InitializeComponent();

    if (!this.infoGrabWroker.IsBusy)
        this.infoGrabWroker.RunWorkerAsync();
}

private void grabInfo()
{
    MessageBox.Show("hi");
}

private void infoGrabWroker_DoWork(object sender, DoWorkEventArgs e)
{
    MessageBox.Show("running");
    this.grabInfo();
    MessageBox.Show("done");
}

所以现在进入奇怪的部分。当我运行它时,它显示“正在运行”的MessageBox,但不显示其他两个MessageBoxes。现在到了“weirder”部分:当我使用解决方案配置“Debug”运行它时,它运行得很好,但是当我在“Release”中运行它时它会这样做。我没有搞乱解决方案配置,因为我首先安装了VS2017。也许如果它是相关的,除了添加Work事件之外,我还没有对BackgroundWorker做任何事情:

this.infoGrabWroker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.infoGrabWroker_DoWork);

为什么会这样做?在此先感谢,非常感谢任何帮助,因为我无法在线找到任何有用的信息。

0 个答案:

没有答案