2017-02-08 28 views
1

代碼運行後會產生一個正確顯示的消息框。但是,需要按幾下ok/cross才能退出。爲了解決這個問題,我似乎無法找到問題。消息框在幾次點擊後退出,以win形式退出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

很難說準確,但我想這可能是與你讀你的數據庫中把一個MessageBox,這將阻止UI線程,這樣的事實。任何你不能等到閱讀完成的原因?

+0

謝謝哈哈,我直到現在才意識到這一點!現在好了。 –