我想在验证文件时显示一个等待 gif,这就是我到目前为止尝试过的。
有一个表单 - Form1,用户单击按钮来验证文件,还有另一个表单 - 等待,只有一个显示 gif 图像的图片框。
button_click()
{
Wait wait = new Wait();
wait.ShowDialog();
VerifyFile();
wait.Close();
}
"等待"窗体确实会显示,但不会关闭。此外,验证也没有完成。仅当我手动关闭"等待"表单时,它才会继续。如何在VerifyFile()
完成后自动关闭等待表单。
代码的问题在于 Form.ShowDialog() 方法是同步的,它等待来自"Form"对话框的结果。这意味着代码执行将一直保持到"等待"对话框关闭。
考虑将 VerifyFile() 方法移动到 Wait 对话框中:
class Wait: Form
{
public Wait() : base()
{
System.Threading.Tasks.Task.Factory.StartNew(() => VerifyFile());
}
}
您可以在验证文件执行结束后关闭此对话框。