e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
// ==++==
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// ==--==
|
|
/*=============================================================================
|
|
**
|
|
** Class: ConsoleCancelEventArgs
|
|
**
|
|
**
|
|
** Purpose: This class provides support goop for hooking Control-C and
|
|
** Control-Break, then preventing Control-C from interrupting the
|
|
** process.
|
|
**
|
|
**
|
|
=============================================================================*/
|
|
namespace System {
|
|
using System;
|
|
using System.Diagnostics.Contracts;
|
|
|
|
public delegate void ConsoleCancelEventHandler(Object sender, ConsoleCancelEventArgs e);
|
|
|
|
|
|
[Serializable]
|
|
public sealed class ConsoleCancelEventArgs : EventArgs
|
|
{
|
|
private ConsoleSpecialKey _type;
|
|
private bool _cancel; // Whether to cancel the CancelKeyPress event
|
|
|
|
internal ConsoleCancelEventArgs(ConsoleSpecialKey type)
|
|
{
|
|
_type = type;
|
|
_cancel = false;
|
|
}
|
|
|
|
// Whether to cancel the break event. By setting this to true, the
|
|
// Control-C will not kill the process.
|
|
public bool Cancel {
|
|
get { return _cancel; }
|
|
set {
|
|
_cancel = value;
|
|
}
|
|
}
|
|
|
|
public ConsoleSpecialKey SpecialKey {
|
|
get { return _type; }
|
|
}
|
|
}
|
|
}
|