|
|
1
104
|
|
|
2
201
这个 Console.CancelKeyPress 事件用于此。使用方法如下:
当用户按下ctrl+c时,代理中的代码将运行,程序退出。这允许您通过调用必要的方法来执行清理。注意,在执行委托之后没有代码。 在其他情况下,这是不可能的。例如,如果程序当前正在执行无法立即停止的重要计算。在这种情况下,正确的策略可能是告诉程序在计算完成后退出。下面的代码给出了如何实现这一点的示例:
此代码与第一个示例的区别在于
|
|
|
3
80
我想补充一下
Jonas' answer
. 纺纱
更好的解决方案是使用
|
|
|
4
20
下面是一个完整的工作示例。粘贴到空的C控制台项目中:
|
|
|
5
6
这个问题非常类似于: 下面是我如何解决这个问题,以及如何处理用户点击x和ctrl-c的问题。请注意使用manualReseteEvents。这将导致主线程休眠,从而在等待退出或清理时释放CPU处理其他线程的空间。注意:有必要在main结尾处设置TerminationCompletedEvent。如果不这样做,则会由于操作系统在终止应用程序时超时而导致不必要的终止延迟。
|
|
|
6
3
|