在C# Winform开发中,若遇到大量数据操作或运算,通常UI界面卡死造成交互不良。
解决方法:1.使用BackgroundWorker控件;
2.使用多线程委托回调。
本章先介绍该控件使用方法。
界面展示:
若没使用该控件,点击开始,进度条会滚动但会造成界面卡死,体验不良。
步骤一:实例化BackgroundWorker。
private BackgroundWorker bgWorker = new BackgroundWorker();//实例化控件
步骤二:窗体加载时设置属性。
private void Form1_Load(object sender, EventArgs e)
{
//是否报告处理进度
bgWorker.WorkerReportsProgress = true;
//是否允许取消操作
bgWorker.WorkerSupportsCancellation = true;
//执行三个事件,DoWork事件,ProgressChanged事件以及RunWorkedCompleted事件
bgWorker