2011-06-29 6 views
3

私は "using"キーワードを使用してユーザーがWebページからキャプチャコードを入力するダイアログを読み込みますが、ダイアログは即座に読み込みと終了が問題になります。ダイアログでユーザーの入力を待つ方法を教えてください。"using"キーワードを使用したときの問題

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

答えて

7

代わりShowDialogメソッドを使用することができます:あなたのコードが順番にフォームを閉じ、新しく作成したフォームを、処分しますusingブロックの終わりに当たるので

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

@Dave - ユーザーが終了するまでブロックされます。 –

3

フォームはすぐに閉じていますそれが開いている場合。 ShowDialogを使用して、ダイアログへの呼び出しをブロックする必要があります。

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