同步计算 - 重量级方法调用,不会阻止重绘

时间:2009-04-28 09:29:43

标签: c# .net multithreading

新手C#/。NET线程问题:

是否可能有一个同步(如果这是正确的术语)方法,直到它完成一些计算后才返回,但同时不会阻止应用程序重新绘制或转到“无响应”

我猜答案可能是线程但是如何使它们成为同步(如果仍然是正确的术语)方法调用的一部分,而不是在完成时发送事件。

作为一项附加要求,我添加的代码与Winforms没有任何依赖关系,它设计为从控制台应用 Winforms应用程序运行。

如果这是一个愚蠢的问题,感谢和抱歉。

1 个答案:

答案 0 :(得分:1)

我假设您要在执行计算方法时阻止任何用户输入。如果是这样,可以使用BackgroundWorker类来完成。将表单的Enabled属性设置为false,在DoWork处理程序中执行所有计算逻辑,并在RunWorkerCompleted处理程序中重新启用表单。