Form
プログラムで作成したコントロールを使用しています。そのうちの1つは、WebBrowser
キャプチャ画像を表示するものです。次に、ユーザーはテキストボックスにキャプチャを入力します。間違っている場合は、フォームが新しいキャプチャ画像で更新されることになっています。Form.Refresh()
その後、もう一度呼び出してみDisplayCaptcha()
ましたが、機能しなかったため、次の(簡略化された)コードのように解決しました。
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
DisplayCaptchas();
}
private void DisplayCaptcha()
{
string captcha = "<style>html, body{{padding:0; margin:0 }}</style>" +
"<img src=\"http://www.reddit.com/captcha/{0}.png\"></img>";
WebBrowser webBrowserNofap = new WebBrowser();
webBrowserNofap.DocumentText = String.Format(captcha, iden);
......//rest of the code
}
private void button1_Click(object sender, EventArgs e)
{
if (wrongCaptcha)
{
this.Close();
Form3 form3 = new Form3(); //this is how I solved the refreshing
form3.Show();
}
else
{
Form4 form4 = new Form4();
this.Close();
form4.Show();
}
}
}
それは機能しますが、これは本当にさわやかではありません。もう一度コントロールを削除しようと思ってDisplayCaptcha()
いましたが、その方法がわかりません。要するに、閉じてからリロードする以外に他の解決策はありますForm
か?