Uporabite ta dogodek v kombinaciji s System.ConsoleCancelEventHandler in System.ConsoleCancelEventArgs. Dogodek CancelKeyPress lahko prestreže signal Ctrl+C, tako da se upravljalnik dogodka odloči, ali bo nadaljeval izvajanje ali zaključil konzolno aplikacijo. Za več informacij o ravnanju z dogodki glejte Upravljanje in dvigovanje dogodkov. Ko uporabnik pritisne Ctrl+C ali Ctrl+Break, CancelKeyPress sproži dogodek in ConsoleCancelEventHandler aplikacije izvede upravljalnik dogodkov. Obravnavalnik dogodkov prenaša objekt ConsoleCancelEventArgs z dvema uporabnima lastnostma: SpecialKey: Določa, ali uporabnik pokliče handler s pritiskom na Ctrl+C (vrednost lastnosti bo ConsoleSpecialKey.ControlC) ali Ctrl+Break (vrednost lastnosti bo ConsoleSpecialKey.ControlBreak). Prekliči, ki določa, kako naj aplikacija odgovori uporabniku, s pritiskom na Ctrl+C ali Ctrl+Break. Privzeto je lastnost Cancel napačna, ker program zaključi izvajanje, ko upravljalnik zapusti. Sprememba lastnosti v true določa, da naj aplikacija nadaljuje z izvajanjem.
// Povzetek: Ko System.ConsoleModifiers.Control spremeni tipko (Ctrl) in konzolno tipko System.ConsoleKey.C (C) ali tipke Break se držijo hkrati (Ctrl+C ali Ctrl+Break). javni statični dogodek ConsoleCancelEventHandler CancelKeyPress; MSDN:https://msdn.microsoft.com/zh-cn/library/system.console.cancelkeypress.aspx
V scenariju odpremo nit in napišemo while(running) deadloop, ki lahko nadzoruje, ali program teče ali ne, preko spremenljivk.
|