Käytä tätä tapahtumaa yhdessä System.ConsoleCancelEventHandlerin ja System.ConsoleCancelEventArgsin kanssa. CancelKeyPress-tapahtuma voi siepata Ctrl+C-signaalin, jotta tapahtumankäsittelijä voi päättää, jatkaako suoritusta vai lopettaako konsolisovellus. Lisätietoja tapahtumien käsittelystä löytyy kohdasta Tapahtumien käsittely ja kasvattaminen. Kun käyttäjä painaa Ctrl+C tai Ctrl+Break, CancelKeyPress käynnistää tapahtuman ja sovelluksen ConsoleCancelEventHandler suorittaa tapahtumakäsittelijän. Tapahtumankäsittelijä välittää ConsoleCancelEventArgs-objektin kahdella hyödyllisellä ominaisuudella: SpecialKey: Se määrittää, kutsuuko käyttäjä käsittelijää painamalla Ctrl+C (ominaisuusarvo on ConsoleSpecialKey.ControlC) vai Ctrl+Break (ominaisuusarvo on ConsoleSpecialKey.ControlBreak). Cancel, joka määrittää, miten sovelluksen tulisi vastata käyttäjälle painamalla Ctrl+C tai Ctrl+Break. Oletuksena Peruuta-ominaisuus on väärin, koska ohjelma lopettaa suorituksen, kun käsittelijä poistuu. Ominaisuuden muuttaminen true:ksi määrittelee, että sovelluksen tulee jatkaa suoritustaan.
// Yhteenveto: Kun System.ConsoleModifiers.Control muokkaa näppäintä (Ctrl) ja System.ConsoleKey.C -konsoliavainta (C)- tai Break-näppäimet pidetään pohjassa (Ctrl+C tai Ctrl+Break) samanaikaisesti. julkinen staattinen tapahtuma ConsoleCancelEventHandler CancelKeyPress; msdn:https://msdn.microsoft.com/zh-cn/library/system.console.cancelkeypress.aspx
Tässä tapauksessa avaamme säikeen ja kirjoitamme while(running) deadloopin, joka voi hallita, suoritetaanko ohjelma muuttujien kautta vai ei.
|