在另一个线程中调用一个方法

本文关键字:一个 方法 另一个 线程 调用 | 更新日期: 2023-09-27 17:53:44

在不同的线程中调用winform按钮的方法以使ui不会冻结或创建延迟的最佳实践是什么?

在另一个线程中调用一个方法

第一步从

开始
  • BackgroundWorker

如果这不能满足你的要求,或者你需要更高级的东西,你应该看看这些:

  • Task Parallel Library
  • ReactiveExtensions
  • async / await
Invoke((MethodInvoker) delegate {
    DoSomething();
});

您应该调用Control.InvokeBeginInvoke,请参阅此处的深入参考

你可以这样做

 Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
 {         
      //DO SOMETHING         
 }