【发布时间】:2013-04-15 21:39:46
【问题描述】:
目前我有一个图片框,上面有两个项目,一个处理 gif 文件和一个标签。现在,当调用 backgroundworker 时,我已经为所有三个项目(图片框、处理 gif、标签)调用了 BringToFront()
下面是我的后台工作人员代码 sn-p
private void buttonUpload_Click(object sender, EventArgs e)
{
LoadFile(pdfFullPath);
bgwLoadFile.RunWorkerAsync(dummyPDFPath);
pictureBox1.BringToFront();
picLoading.BringToFront();
label.BringToFront();
}
private void bgwLoadFile_DoWork(object sender, DoWorkEventArgs e)
{
this.Invoke((MethodInvoker)delegate() {
acrPDFViewer.LoadFile(e.Argument.ToString());
});
}
private void bgwLoadFile_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled == true)
{
}
else if (e.Error != null)
{
}
else
{
pictureBox1.SendToBack();
picLoading.SendToBack();
label.SendToBack();
}
}
在执行时它没有显示这三个项目。
【问题讨论】:
-
您是否收到一些异常或错误消息?
-
我没有收到任何异常或错误..当我调试它时,它通过了所有步骤,但没有采取任何行动
-
您确定您正在访问
bgwLoadFile_RunWorkerCompleted事件处理程序吗?您可能需要反复调用 Application.DoEvents() 以确保正确触发RunWorkerCompleted事件。 -
这是您第三次问同样的问题:stackoverflow.com/questions/15152850/… 和 stackoverflow.com/questions/15703045/… 如果您需要进一步的指导,请在您的问题中提供更多详细信息。
标签: c# backgroundworker