2017-04-26 11 views
0

私は単純なWorld of Warcraftのプロフィール画像「抽出プログラム」を実行しようとしています。C#メッセージボックスが2回表示されます

private void pictureBox1_Click(object sender, EventArgs e) 
{ 
    if (textBox4.Text != "") 
    { 
     webBrowser1.ScriptErrorsSuppressed = true; 
     webBrowser1.Navigate("https://worldofwarcraft.com/en-gb/search?q=" + textBox4.Text); 
     webBrowser1.DocumentCompleted += GetImg; 
    } 
} 
private void GetImg(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
    string result = ""; 
    foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("div")) 
     if (el.GetAttribute("className") == "Avatar-image") 
     { 
      result = (el.OuterHtml).Substring(el.OuterHtml.IndexOf("https")); 
      result = result.Substring(0, result.IndexOf(")")); 
      pictureBox1.ImageLocation = result; 
      DialogResult YESNO = MessageBox.Show("Is this your character?", "Select your char", MessageBoxButtons.YesNo, MessageBoxIcon.Question); 
      if (YESNO == DialogResult.Yes) 
      { 
       break; 
      } 
     } 
    } 
} 

問題は、私は一度画像をクリックすることで、文字が正しいものである場合、私はクリックして「はい」とすべてが良いです:ここに私のコードです。しかし、画像を2回クリックすると、メッセージボックスがポップアップしますが、私は答えを選びましたが、メッセージボックスが再びポップアップします。画像を3回目にクリックすると、メッセージボックスが3回表示されます... アイデアはありますか?

答えて

7

あなたは追加の時間にイベントにあなたは、この行にそれをクリックするたびに加入しています

webBrowser1.DocumentCompleted += GetImg; 
+0

理にかなっていること。ありがとうございました!それは少し変わるだろう。残念ながら私はまだあなたをアップアップすることはできません:/しかし、とにかく感謝 – Nanyo

+0

私の問題を修正!どうもありがとう! – Nanyo

+0

あなたは大歓迎です! –

関連する問題