尝试使用codesnippet直到condition为True

Ken*_*nes 0 c# vb.net

这可能是一个nobraner,但我无法弄清楚.我有这个函数将wav文件转换为mp3.我从我的button_click句柄调用它.问题是,当转换开始时,button_click处理程序中的其余代码继续,而转换发生在另一个线程中.

现在,我需要button_click句柄中的其余代码,所以继续尝试直到布尔值为true,这样我就知道转换是在其余代码继续之前完成的.

我尝试过使用Do While但它似乎没有做到这一点.也许这只是我...

Mic*_*tta 5

这是客户端应用程序吗?听起来像BackgroundWorker的一个很棒的应用程序.

要在后台执行耗时的操作,请创建BackgroundWorker并侦听报告操作进度的事件,并在操作完成时发出信号.

BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler
                                   (bw_RunWorkerCompleted);
....

private void button1_Click(object sender, EventArgs e)
{
    bw.RunWorkerAsync(filename);
}

static void bw_DoWork(object sender, DoWorkEventArgs e)
{
    BackgroundWorker worker = (BackgroundWorker)sender;
    string filename = (string)e.Argument;
    e.Result = DoConversion(filename);
}

static void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    label.Text = "Done: " + e.Result.ToString();
    DoSomethingWhenConversionComplete();
}
Run Code Online (Sandbox Code Playgroud)