C#学习教程:使用Backgroundworker的正确方法分享


使用Backgroundworker的正确方法

我正在使用backgroundworker来显示加载屏幕。

DO事件如下:

private void bwLoadingScreen_DoWork(object sender, DoWorkEventArgs e) { _ls = new LoadingScreen(); _ls.Show(); while (!bwLoadingScreen.CancellationPending) { Application.DoEvents(); } } 

我使用以下代码来处理Loadingscreen:

 if (_ls.InvokeRequired && !_ls.IsDisposed) { Invoke(new MethodInvoker(delegate { _ls.Close(); _ls.Dispose(); })); } else if (!_ls.IsDisposed) { _ls.Hide(); _ls.Dispose(); } 

我应该使用RunWorkerCompleted事件吗? 这是使用Backgroundworker的正确方法吗?

我觉得你这样做有点倒退了。 Backgroundworker应该在主进程显示当前表单并可能更新它时执行工作。 当backgroundworker完成加载数据后,它应该在backgroundworker事件’RunWorkerCompleted’中的主线程中处理它。

这也将简化您的代码,因为在关闭或隐藏表单之前不需要调用。

我希望这能回答你的问题。 // Flipbed

这里有一些很棒的文章可以帮助你得到你想要的东西:

C#BackgroundWorker教程

适用于初学者的BackgroundWorker类示例

BackgroundWorker和ProgressBar演示

后台工作者的例子

希望这可以帮助!

上述就是C#学习教程:使用Backgroundworker的正确方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/960068.html

发表评论

邮箱地址不会被公开。 必填项已用*标注