2017-02-08 3 views
1

コードが実行された後、メッセージボックスが正しく表示されます。ただし、ok/crossを数回押すと終了します。私はこれを解決するために問題を見つけることができないようです。メッセージボックスは、severalsクリック後に終了して勝利形式で終了します。C#

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) 
{ 
    List<String> BlockList = new List<String>(); 
    con.Open(); 
    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "select BlockList from BlockList"; 
    cmd.ExecuteNonQuery(); 
    using (SqlDataReader objReader = cmd.ExecuteReader()) 
    { 
     if (objReader.HasRows) 
     { 
      while (objReader.Read()) 
      {     
       string item = objReader.GetString(objReader.GetOrdinal("BlockList")); 
       BlockList.Add(item); 

       string[] BlockArray = BlockList.ToArray(); 

       for (int i = 0; i < BlockArray.Length; i++) 
       { 
        if (e.Url.Equals(BlockArray[i])) 
        { 
         e.Cancel = true; 
         MessageBox.Show("Booyaa Says No!", "Blocked"); // Block List Error Message 
         player.SoundLocation = "nono.wav"; 
         player.Play(); 

        } 
       } 
      } 

     } 
    } 

    con.Close(); 
} 

答えて

2

正確に言うが、私はそれはあなたがあなたのデータベースへの読み取り時に、UIスレッドを停止しますMessageBoxを、我慢しているという事実とは何かを持っているかもしれないと想像するのは難しいです。読書が終わるまで待てない理由は何ですか?

+0

ありがとう、私は今までこれを認識していませんでした!今は大丈夫です。 –

関連する問題