我只是想创建一个简单的暂停按钮,如果需要,可能还需要另一个按钮。我一直在环顾四周,我主要看到Thread.Sleep(),这对我不起作用,因为我希望暂停在用户需要之前保持暂停状态。
Thread.Suspend()不起作用,因为现在已经过时了。
我还看到了创建第二种形式的另一种解决方案,但这对我来说似乎并不适用。打开第二个表单后,整个程序将关闭。
我不确定这是否有所不同,但我的程序目前使用两个线程(主线程运行form1和另一个线程)。理想情况下,一切都需要暂停。
答案 0 :(得分:1)
最简单的做法是拥有一个其他线程可以访问的变量/属性。
Bool ShouldPause = false;
另一个主题应该在游戏循环中有这样的东西:
while(true)
{
if(!ShouldPause)
{
UpdateGame();
}
Draw();
}
然后只有在ShouldPause变量为false时才会继续游戏。 我做了好几次,效果很好。
您不希望通过某些“暂停”功能暂停线程,因为它会阻止他在屏幕上绘图并且看起来没有响应。
答案 1 :(得分:0)
您可以使用线程信号技术。 一个好的开始是看看ManualResetEvent Class