public Form1()
{
InitializeComponent();
//允许异步线程去操作界面
CheckForIllegalCrossThreadCalls = false;
//绑定执行事件
backgroundWorker_export.DoWork += backgroundWorker_export_DoWork;
//绑定完成事件
backgroundWorker_export.RunWorkerCompleted += backgroundWorker_export_RunWorkerCompleted;
}
void backgroundWorker_export_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
//写自己的业务逻辑,不要在这里控制空间的显示隐藏,会导致异步完成后卡顿好几秒
}
void backgroundWorker_export_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
{
//完成后的操作
}
//界面按钮点击事件
private void button_export_Click(object sender, EventArgs e)
{
if (backgroundWorker_export.IsBusy != true)
{
//开始触发异步操作
backgroundWorker_export.RunWorkerAsync();
}
}
winform窗体后台执行操作,保证界面不卡
最新推荐文章于 2023-09-14 14:26:32 发布
本文介绍了一个使用 C# 实现的简单异步任务处理示例,通过 backgroundWorker 组件来执行后台任务,避免 UI 卡顿。文章展示了如何初始化组件、设置允许跨线程调用、绑定事件处理程序等关键步骤。



1872

被折叠的 条评论
为什么被折叠?



