我有一个叫做Movement的类,当Lead方法被执行时,它将我的表单上的一个图片框(左边的人)移动到一个随机位置。我还有一种方法可以移动另一个图片框(右侧的黑色家伙),名为SetMrShadowToMove。这两个图片框被假设为同时移动并同时到达随机点(两个图片框为一个点)。简单的多线程问题
就目前而言,这些方法使用计时器来移动图片框,但我的主要意图是有其运行的循环,直到图片框的坐标满足随机点回升,同时使用了Thread.Sleep来推迟过程并制作动画。
为此,我需要在不同的线程上运行这两种方法,所以我的UI线程不会被冻结,并且这些方法会同时运行。
我的问题是,我不知道如何在不同的线程上运行这些方法,也不知道如何访问其他线程上的图片框(似乎这与调用和东东!)。
解决此问题的最佳方法是什么?
最好的方法是不使用winforms来创建游戏 – dotctor
这不是一个游戏,只是一个练习动画来学习多线程和其他的东西。 –
http://www.codeproject.com/Articles/18702/Threading-in-NET-and-WinForms – dotctor