我开始做一个3d游戏。然后我停下来一段时间,安装了win7。现在我想继续研究它,只是为了发现代码冻结了!在XP上,我将视图呈现到窗体上。游戏循环和所有的游戏形式都运行在同一个线程上!
这在XP上是有效的。现在在win7中,3d循环仍然可以工作,但是所有的表单都不想在同一个线程上工作。
我记得在vb中有一个叫做"doevents“的东西,不确定在c#中有没有类似的东西……
我尝试重新绘制主循环中的所有窗体。现在所有的标签都更新了,但是表单没有按键输入,过了一段时间后就冻结了,直到windows告诉我我的应用程序卡住了(所有这些和主循环都运行并渲染3d没有问题)
我不明白为什么在XP中所有的线程都工作在同一个线程上,而在win7中看起来我需要为表单创建一个线程系统!
是的,代码可以在xp上运行!
发布于 2010-06-24 12:43:45
如果你必须在同一个线程上运行所有的东西,你可以使用:
Application.DoEvents();这相当于VB.NET中的"DoEvents“。希望这能有所帮助……
https://stackoverflow.com/questions/3107288
复制相似问题