在Windows Forms应用程序中暂停一会儿抽奖

问题描述

| 我做了一些游戏作为控制台应用程序,现在我想将其移至Windows窗体。 在控制台模式下,我使用Thread.Sleep()函数来减慢游戏中的某些元素(它们从窗口的顶部移动到底部),但是当我在Windows Form应用程序中使用该功能时,它将使应用程序窗口繁忙。我必须按ALT + F4来关闭程序。 我该如何解决?有什么办法可以解决?     

解决方法

您应该使用
System.Windows.Forms.Timer
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();

myTimer.Tick += new EventHandler(TimerEventProcessor);
myTimer.Interval = 5000;//This is in milli seconds
myTimer.Start();


private void TimerEventProcessor(Object myObject,EventArgs myEventArgs) {
{
  //Your code 
}
请注意,您不应使用System.Timers.Timer 从MSDN:在.NET Framework 2.0及更早版本中,Timer组件捕获并抑制事件处理程序为Elapsed事件抛出的所有异常。在将来的.NET Framework版本中,此行为可能会更改。它不会说是否已更改。     ,使用
Thread.Sleep()
来控制任何东西就像来自VB6的probably3ѭ一样-可能是一个非常糟糕的主意:)在不了解您的应用程序结构的情况下,如何使用
Timer
来以您想要的速度移动东西呢? 如果您可以提供更多可能对您有帮助的细节... 同样,在Windows中,在WPF中比在WinForms中更容易执行graphcs,这再次取决于您的项目是什么:)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...