C# 消息框在多次单击以win form C退出后退出
代码运行后,会生成一个正确显示的消息框。但是,只需按几下ok/cross即可退出。我似乎找不到解决这个问题的方法C# 消息框在多次单击以win form C退出后退出,c#,.net,winforms,C#,.net,Winforms,代码运行后,会生成一个正确显示的消息框。但是,只需按几下ok/cross即可退出。我似乎找不到解决这个问题的方法 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { List<String> BlockList = new List<String>(); con.Open(); SqlCommand cmd = con.Creat
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();
}
很难说清楚,但我想这可能与您正在放置MessageBox这一事实有关,它将在读取数据库的过程中停止UI线程。你有什么理由不能等到阅读结束吗?谢谢,哈哈,我直到现在才意识到这一点!现在好了。