c# – 如何在.NET 4中使用Console.CancelKeyPress? (在.NET 3.5
发布时间:2020-12-15 03:55:48 所属栏目:百科 来源:网络整理
导读:我正在C#4中编写一个控制台应用程序,并希望正常地取消我的程序,并按下Ctrl C.以下代码我以前使用了很多次,但是现在在.NET 4中尝试使用它时,似乎发生了一个奇怪的未处理的异常. namespace ConsoleTest{ class Program { private static bool stop = false; st
我正在C#4中编写一个控制台应用程序,并希望正常地取消我的程序,并按下Ctrl C.以下代码我以前使用了很多次,但是现在在.NET 4中尝试使用它时,似乎发生了一个奇怪的未处理的异常.
namespace ConsoleTest { class Program { private static bool stop = false; static void Main(string[] args) { System.Console.TreatControlCAsInput = false; System.Console.CancelKeyPress += new ConsoleCancelEventHandler(Console_CancelKeyPress); while (!stop) { System.Console.WriteLine("waiting..."); System.Threading.Thread.Sleep(1000); } System.Console.WriteLine("Press any key to exit..."); System.Console.ReadKey(true); } static void Console_CancelKeyPress(object sender,ConsoleCancelEventArgs e) { stop = true; e.Cancel = true; } } } 如果我将目标框架更改为.NET 3.5,它可以正常工作. 编辑:看来这个人看到同样的问题: 解决方法
这是
Microsoft Connect的一个已知问题.
请注意,它在调试器之外工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |