Проблема при использовании ключевого слова "using" - PullRequest
3 голосов
/ 29 июня 2011

Я использую ключевое слово «using» для загрузки диалога, в котором пользователь вводит код с картинки с веб-страницы, но проблема в том, что диалог загружается и закрывается мгновенно.Как я могу убедиться, что диалоговое окно ожидает ввода пользователя?

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

Ответы [ 2 ]

7 голосов
/ 29 июня 2011

Вы можете использовать метод ShowDialog вместо:

using (Form2 captchaDialog = new Form2(captchaImage))
{
    captchaDialog.ShowDialog();
    captchaText = captchaDialog.captcha;
}
3 голосов
/ 29 июня 2011

Ваша форма закрывается немедленно, потому что ваш код достигает конца блока using, который будет располагать вновь созданную форму, которая, в свою очередь, закроет форму, если она открыта.Вы должны заблокировать ваш вызов в диалоге, используя ShowDialog.

using (var dialog = new Form2(captchaImage))
{
    if(dialog.ShowDialog() == DialogResult.OK)
    {
        captchaText = captchaDialog.captcha;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...