【发布时间】:2021-03-11 02:56:48
【问题描述】:
我想在 Spinner GIF 旋转时运行持久的方法,甚至包含耗时的 dll。
好的,最被接受的解决方案是在主线程中显示 GIF 的同时在 BackgroundWorker 中运行这些方法,我已经成功地完成了,但是……但我仍然很想知道是否真的不可能反其道而行之!
这将简化对这些方法的调用,特别是如果它们有参数和返回值,避免使用 Invoke 如果它们包含标签来显示工作进度等......
我花了很多时间浏览网页,但所有建议的解决方案都对我不起作用:一旦程序调用我的方法,Spinner 就会停止旋转并仅在方法结束时恢复工作。
Ciao,感谢您的任何建议。
【问题讨论】:
-
您不能在非 UI 线程上进行 UI 工作,所以是的,它真的是不可能的。它也与 GIF 完全无关。
-
另外,我会怀疑任何链接到该代码项目的人,因为它说“在 C# 中,每个对象都有自己的线程和......”这实际上是不正确的(而且不能更远现实)。
-
我强烈怀疑这是不可能的,但是按照爱因斯坦的那句话“每个人都知道这是不可能的,直到一个不知道的傻瓜出现并做到了”,我认为值得一问。跨度>
-
@FrancoLanguasco 我建议您删除指向 codeproject 的链接(这是非常错误的“在 C# 中,每个对象都有自己的线程和......”)并发布您自己的代码。
标签: c# animation backgroundworker gif