因此,我制作了一个自定义的“ MessageBox”,以便在下载文件时,弹出一个带有加载gif的MessageBox。
但是问题是,它不会继续执行其余的代码,只是停止,直到该人退出该MessageBox,然后继续该过程。
我对编码还很陌生,所以我不知道要写的确切脚本。
var output = Path.Combine(Path.GetTempPath(), fileName);
System.Windows.Forms.MessageBox.Show($"{fileName} Will Now Start Downloading.", "Something",
MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
MsggBox = new Form3();
MsggBox.ShowDialog();
//Right Here I want the Custom MessageBox(Form3) to Pop up and continue with the script. But it just stops the whole script.
using (System.Net.WebClient client = new System.Net.WebClient())
{
client.DownloadFileCompleted += (sender, args) =>
{
System.Windows.Forms.MessageBox.Show($"{fileName} Download Complete!", "Something",
MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
Process.Start(output);
_Busy = false;
};
client.DownloadProgressChanged += (sender, args) => progressBar1.Value = args.ProgressPercentage;
client.DownloadFileAsync(new Uri(url), output);
}
}
答案 0 :(得分:0)
MsgBox.ShowDialog
是阻止过程。 您可以尝试:
在其他线程中运行MsgBox.ShowDialog。
new Thread(()=> new Form3()。ShowDialog());
先异步运行webClient,然后显示消息框。