Verwenden Sie dieses Ereignis in Kombination mit System.ConsoleCancelEventHandler und System.ConsoleCancelEventArgs. Das CancelKeyPress-Ereignis kann das Strg+C-Signal abfangen, sodass der Ereignishandler entscheiden kann, ob die Ausführung fortgesetzt oder die Konsolenanwendung beendet wird. Weitere Informationen zum Umgang mit Veranstaltungen finden Sie unter Handling und Erhebung von Events. Wenn der Benutzer Strg+C oder Strg+Break drückt, löst CancelKeyPress das Ereignis aus und der ConsoleCancelEventHandler der Anwendung führt den Ereignis-Handler aus. Der Ereignishandler übergibt das Object ConsoleCancelEventArgs mit zwei nützlichen Eigenschaften: SpecialKey: Es bestimmt, ob der Benutzer den Handler aufruft, indem er Strg+C (der Eigenschaftswert ist ConsoleSpecialKey.ControlC) oder Strg+Break (der Eigenschaftswert ist ConsoleSpecialKey.ControlBreak) drückt. Cancel, das bestimmt, wie die Anwendung auf den Benutzer reagieren soll, indem man Strg+C oder Strg+Break drückt. Standardmäßig ist die Cancel-Eigenschaft falsch, weil das Programm die Ausführung beendet, wenn der Handler endet. Die Änderung seiner Eigenschaft auf true gibt an, dass die Anwendung weiterhin ausgeführt werden soll.
// Zusammenfassung: Wenn System.ConsoleModifiers.Control die Taste (Strg) und die System.ConsoleKey.C-Konsolentaste ändert. (C)- oder Break-Tasten werden gleichzeitig gedrückt gehalten (Strg+C oder Strg+Brechen). öffentliches statisches Ereignis ConsoleCancelEventHandler CancelKeyPress; MSDN:https://msdn.microsoft.com/zh-cn/library/system.console.cancelkeypress.aspx
In diesem Szenario öffnen wir einen Thread und schreiben eine while(running) Deadloop, die steuern kann, ob das Programm über Variablen ausgeführt wird oder nicht.
|