c# - 在 Windows 窗体上的较长过程中显示动画

标签 c# .net winforms

我有一个 windows 窗体对话框,它在单击按钮后会执行更长的时间。 因为这需要一段时间,所以我想在对话框上显示一个动画(动画 gif、avi 或其他)。我怎样才能做到这一点。我需要一个自己的线程吗(我没有使用线程的经验)? 你能给我一个代码片段如何实现这个吗?

最佳答案

您可以使用普通的 PictureBox 控件显示动画 GIF,并且可以在 Ajaxload 找到一些有用的动画 GIF。 .

但是,如果您在 UI 线程上执行操作,程序将卡住直到完成。
为防止这种情况,请使用 BackgroundWorker ,像这样:

将 BackgroundWorker 组件添加到您的表单。
处理它的 DoWork 事件并在那里执行您的操作。
处理 RunWorkerCompleted 事件并隐藏 PictureBox。
当您要开始操作时,显示 PictureBox,然后调用 RunWorkerAsync 方法。

关于c# - 在 Windows 窗体上的较长过程中显示动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3265089/

相关文章:

c# - .NET:ListView 蓝调?

c# - 为什么此方法返回 double.PositiveInfinity 而不是 DivideByZeroException?

.net - 记录所有使用的 DLL 的版本

c# - Entity Framework MappingException : The type 'XXX has been mapped more than once

c# - Nuget 安装在 visual studio 2015

winforms - 删除 listView 项目时崩溃?

c# - 使用 ASP.NET 访问 Active Directory

c# - foreach 是纯粹的 “syntactic sugar” 吗?

c# - 虚函数在 C# 和 Java 中如何工作?

c# - 如何在C# winforms控件上嵌入Java控件?