gpt4 book ai didi

c# - 正确使用与 WPF 兼容的 DoEvents()

转载 作者:行者123 更新时间:2023-12-02 05:17:27 27 4
gpt4 key购买 nike

从 VB6 开始,我很少在 C# 中使用 DoEvents() 方法。

为了同样的目的,我现在需要使用同样的功能

我注意到人们使用这个函数(Application.DoEvents Method ):

Application.DoEvents()

但这适合 Windows 窗体。

现在我正在使用 WPF。

WPF中有没有类似的方法?

或者也许我不应该再使用这种方法了?

谢谢。

最佳答案

Or maybe I shouldn't use this method anymore?

这个。

基本上,Application.DoEvents() 的使用几乎总是表明您有一个长时间运行的任务,该任务应该在不同的线程上执行, 回调到需要 UI 访问的 UI 线程。

Application.DoEvents() 基本上是人们在不想花时间正确做事时使用的 hack - 至少在绝大多数情况下是这样。

有多种方法可以编写与 UI 交互的长时间运行的任务,具体取决于您使用的语言/框架的版本,以及您的长时间运行的任务的组成。要考虑的选项:

  • 显式创建一个新线程
  • 显式使用线程池
  • 使用BackgroundWorker
  • 使用任务并行库 (TPL) - 需要 .NET 4+
  • 使用异步 API,从 .NET 4.5/C# 5 开始,要简单得多

关于c# - 正确使用与 WPF 兼容的 DoEvents(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com