使用“using”关键字时出现问题

时间:2011-06-29 16:29:38

标签: c# winforms

我正在使用“using”关键字来加载用户从网页输入验证码的对话框,但问题是对话框正在立即加载和关闭。如何确保对话框等待用户输入?

using (Form2 captchaDialog = new Form2(captchaImage))
{
    captchaDialog.Show();
    captchaText = captchaDialog.captcha;
}

2 个答案:

答案 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;
    }
}