我正在使用“using”关键字来加载用户从网页输入验证码的对话框,但问题是对话框正在立即加载和关闭。如何确保对话框等待用户输入?
using (Form2 captchaDialog = new Form2(captchaImage))
{
captchaDialog.Show();
captchaText = captchaDialog.captcha;
}
答案 0 :(得分:7)
您可以改为使用ShowDialog
方法:
using (Form2 captchaDialog = new Form2(captchaImage))
{
captchaDialog.ShowDialog();
captchaText = captchaDialog.captcha;
}
答案 1 :(得分:3)
您的表单会立即关闭,因为您的代码会到达using
块的末尾,该块将处理新创建的表单,如果表单处于打开状态,则会关闭该表单。您必须使用ShowDialog
阻止对对话的调用。
using (var dialog = new Form2(captchaImage))
{
if(dialog.ShowDialog() == DialogResult.OK)
{
captchaText = captchaDialog.captcha;
}
}