当前位置:  开发笔记 > 编程语言 > 正文

Winforms多线程场景问题

如何解决《Winforms多线程场景问题》经验,为你挑选了1个好方法。

今天早上,我看到了我的一位同事的一些奇怪的代码.在winforms应用程序中,整个Mainform被赋予一个线程作为参考.他这样做是为了从Form中调用方法.没有什么可以与UI交互,只是简单的计算方法.我已经确定这不是最好的做法,但我想知道一些事情.如果我从一个线程内部调用Mainform中的方法,这些方法仍然作为多线程处理?或者它们是在Mainform中运行的?当我从一个线程调用Mainfrom方法时,UI线程会受到影响吗?



1> Jon Norton..:

来自不同线程调用的表单中的函数将在调用它们的线程上运行,并且对GUI线程没有影响.作为副作用,这意味着如果您调用与GUI交互的函数,您将获得异常.

如果您希望在GUI线程上调用Control.Invoke(...)它们,最简单的方法是调用,这会导致您传入的委托在GUI线程上执行,从而允许GUI交互.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有