3 votes

Problème lors de l'utilisation du mot clé "using".

J'utilise le mot-clé "using" pour charger une boîte de dialogue dans laquelle l'utilisateur saisit le code captcha d'une page Web, mais le problème est que la boîte de dialogue se charge et se ferme instantanément. Comment puis-je faire en sorte que la boîte de dialogue attende la saisie de l'utilisateur ?

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

7voto

Michael Todd Points 9384

Vous pourriez utiliser ShowDialog à la place :

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

3voto

Votre formulaire se ferme immédiatement parce que votre code atteint la fin de la balise using qui disposera du formulaire nouvellement créé, ce qui aura pour effet de fermer le formulaire s'il est ouvert. Vous devez bloquer votre appel à la boîte de dialogue en utilisant ShowDialog .

using (var dialog = new Form2(captchaImage))
{
    if(dialog.ShowDialog() == DialogResult.OK)
    {
        captchaText = captchaDialog.captcha;
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X