概述
C#处理大量数据是UI界面卡——解决
前言:
BackgroundWorker是.NET里面用来执行多线程任务的控件,它允许编程者在一个单独的线程上执行一些操作。耗时的操作(如下载和数据库事务)。用法简单
实例代码演示使用(源码如下)
private void bt_export_log_Click(object sender, EventArgs e)
{
using (BackgroundWorker bw = new BackgroundWorker())
{
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerAsync("Tank");
}
}
void bw_DoWork(object sender, DoWorkEventArgs e)
{
// 这里是后台线程, 是在另一个线程上完成的
// 这里是真正做事的工作线程
// 可以在这里做一些费时的,复杂的操作
Thread.Sleep(5000);
e.Result = e.Argument + "工作线程完成";
}
void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//这时后台线程已经完成,并返回了主线程,所以可以直接使用UI控件了
this.label2.Text = e.Result.ToString();
}
说明:bt_export_log_Click(object sender, EventArgs e)是点击按键的事件函数,点击该按钮后界面不会阻塞,五秒后label2标签内容变为“Tank工作线程完成”
总结:该过程就是点击按钮后任务处理在后台处理,不会影响UI界面显示
最后
以上就是不安保温杯为你收集整理的C#处理大量数据是UI界面卡——解决的全部内容,希望文章能够帮你解决C#处理大量数据是UI界面卡——解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复