現在、処理中のgifファイルとラベルの2つのアイテムを保持する画像ボックスがあります。これで、backgroundworker が呼び出されるたびに、3 つのアイテムすべて (画像ボックス、gif の処理、ラベル) に対して BringToFront() を呼び出しました。
以下は、バック グラウンド ワーカーのコード スニペットです。
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();
}
}
実行中に、3 つの項目のいずれも表示されません。