读书人

关于C# MessageBox.Show的有关问题

发布时间: 2012-04-14 17:14:21 作者: rapoo

关于C# MessageBox.Show的问题
我在C#中写了一个提示框,提示并选择是否向数据库里面导入数据,但是每次导入的时候都是提示框点击确定以后,总是卡主,等导入完成以后,提示框才消失,这是什么原因啊?能不能那位兄弟帮忙解决一下啊


if (DialogResult.OK == MessageBox.Show("你导入的是" + comboBox1.Text, "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
{

read();//此处执行将TXT文本数据导入数据库
}


[解决办法]
if (DialogResult.OK == MessageBox.Show("你导入的是" + comboBox1.Text, "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
{
Application.DoEvents();
read();//此处执行将TXT文本数据导入数据库
}

[解决办法]
用异步线程完成数据导入,腾出UI线程。异步线程可参考BackgroundWorker组件。
if (DialogResult.OK == MessageBox.Show("你导入的是" + comboBox1.Text, "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
{

//read();//此处执行将TXT文本数据导入数据库
backgroundWorker1.RunWorkerAsync();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) {
read();//此处执行将TXT文本数据导入数据库
}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e){
//显示进度条,表明数据处理情况
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e){
//导入数据完成
}

读书人网 >C#

热点推荐