我开始制作一个3D游戏,然后停了一段时间,安装了Win7。现在我想继续开发它,但发现代码会卡住!在XP上,我将视图渲染到窗体上。游戏循环和所有游戏窗体都运行在同一个线程上!这在XP上是可行的。现在,在Win7上,3D循环仍然可以正常工作,但所有窗体都不想在同一个线程中运行。
我记得VB中有一个叫做“DoEvents”的东西,不确定C#中是否有类似的东西……
我尝试在主循环中重新绘制所有窗体。现在所有标签都更新了,但窗体无法获得键盘输入,并且过一段时间后就会冻结,直到Windows告诉我我的应用程序被卡住了(所有这些,主循环仍然可以正常运行和渲染3D)。
我不明白为什么在XP上同一线程中所有内容都能正常工作,而在Win7上却不行。看来我需要为窗体创建一个线程系统!
是的,这段代码在XP上是可行的!
我记得VB中有一个叫做“DoEvents”的东西,不确定C#中是否有类似的东西……
我尝试在主循环中重新绘制所有窗体。现在所有标签都更新了,但窗体无法获得键盘输入,并且过一段时间后就会冻结,直到Windows告诉我我的应用程序被卡住了(所有这些,主循环仍然可以正常运行和渲染3D)。
我不明白为什么在XP上同一线程中所有内容都能正常工作,而在Win7上却不行。看来我需要为窗体创建一个线程系统!
是的,这段代码在XP上是可行的!
DoEvents
”在C#中是Application.DoEvents();
。 - icktoofay