我正在使用 "using" 关键字来加载一个对话框,让用户输入网页上的验证码,但问题是对话框会立即打开并关闭。如何确保对话框等待用户输入?
using (Form2 captchaDialog = new Form2(captchaImage))
{
captchaDialog.Show();
captchaText = captchaDialog.captcha;
}
ShowDialog
方法代替:
using (Form2 captchaDialog = new Form2(captchaImage))
{
captchaDialog.ShowDialog();
captchaText = captchaDialog.captcha;
}
因为您的代码触及了 using
代码块的结尾,该代码块将处理新创建的表单并关闭该表单(如果它已经打开),所以您的表单立即被关闭。您需要使用 ShowDialog
阻止对对话框的调用。
using (var dialog = new Form2(captchaImage))
{
if(dialog.ShowDialog() == DialogResult.OK)
{
captchaText = captchaDialog.captcha;
}
}