Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ConsoleCancelEventArgs.Cancel, propriété

Mise à jour : novembre 2007

Obtient ou définit une valeur indiquant si le fait d'appuyer simultanément sur la touche de modification Control et sur la clé de console (Ctrl+C) C met fin au processus actuel.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
public bool Cancel { get; set; }
/** @property */
public boolean get_Cancel()
/** @property */
public  void set_Cancel(boolean value)

public function get Cancel () : boolean
public function set Cancel (value : boolean)

Valeur de propriété

Type : System.Boolean
true si le processus actuel doit se poursuivre lorsque le gestionnaire d'événements prend fin ; false si le processus actuel doit prendre fin.
ExceptionCondition
InvalidOperationException

true a été spécifié dans une opération définie et l'événement a été provoqué en appuyant simultanément sur la touche de modification Control et la clé de console ATTN (Ctrl+Pause).

La propriété Cancel est initialisée automatiquement à false lorsque le gestionnaire de l'événement CancelKeyPress est appelé. La valeur de la propriété Cancel lorsque le gestionnaire d'événements prend fin détermine si le processus actuel se poursuit ou prend fin.

Dans une opération définie, après avoir appuyé sur Ctrl+C, spécifiez true pour indiquer que le processus actuel doit se poursuivre lorsque le gestionnaire d'événements prend fin ou false pour indiquer que le processus actuel doit prendre fin.

Dans une opération définie après avoir appuyé sur Ctrl+Pause, le processus actuel prend fin indépendamment de la définition de la propriété Cancel. En d'autres termes, vous ne pouvez pas empêcher le processus actuel de prendre fin si vous avez appuyé sur Ctrl+Pause. En outre, il ne se passe rien si vous définissez la valeur de la propriété Cancel à false, mais une exception est levée si vous spécifiez true.

L'exemple de code suivant montre comment utiliser la propriété Cancel pour gérer un événement.

// This example demonstrates:
// the Console.CancelKeyPress event,
// the ConsoleCancelEventHandler delegate, 
// the ConsoleCancelEventArgs.SpecialKey property, and 
// the ConsoleCancelEventArgs.Cancel property.

using System;

class Sample 
{
    public static void Main()
    {
    ConsoleKeyInfo cki;

// Clear the screen.
    Console.Clear();

// Turn off the default system behavior when CTRL+C is pressed. When 
// Console.TreatControlCAsInput is false, CTRL+C is treated as an
// interrupt instead of as input.
    Console.TreatControlCAsInput = false;

// Establish an event handler to process key press events.
    Console.CancelKeyPress += new ConsoleCancelEventHandler(myHandler);
    while (true)
        {
// Prompt the user.
        Console.Write("Press any key, or 'X' to quit, or ");
        Console.WriteLine("CTRL+C to interrupt the read operation:");

// Start a console read operation. Do not display the input.
        cki = Console.ReadKey(true);

// Announce the name of the key that was pressed .
        Console.WriteLine("  Key pressed: {0}\n", cki.Key);

// Exit if the user pressed the 'X' key.
        if (cki.Key == ConsoleKey.X) break;
        }
    }

/*
   When you press CTRL+C, the read operation is interrupted and the 
   console cancel event handler, myHandler, is invoked. Upon entry 
   to the event handler, the Cancel property is false, which means 
   the current process will terminate when the event handler terminates. 
   However, the event handler sets the Cancel property to true, which 
   means the process will not terminate and the read operation will resume.
*/
    protected static void myHandler(object sender, ConsoleCancelEventArgs args)
    {
// Announce that the event handler has been invoked.
    Console.WriteLine("\nThe read operation has been interrupted.");

// Announce which key combination was pressed.
    Console.WriteLine("  Key pressed: {0}", args.SpecialKey);

// Announce the initial value of the Cancel property.
    Console.WriteLine("  Cancel property: {0}", args.Cancel);

// Set the Cancel property to true to prevent the process from terminating.
    Console.WriteLine("Setting the Cancel property to true...");
    args.Cancel = true;

// Announce the new value of the Cancel property.
    Console.WriteLine("  Cancel property: {0}", args.Cancel);
    Console.WriteLine("The read operation will resume...\n");
    }
}
/*
This code example produces results similar to the following text:

Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
  Key pressed: J

Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
  Key pressed: Enter

Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:

The read operation has been interrupted.
  Key pressed: ControlC
  Cancel property: False
Setting the Cancel property to true...
  Cancel property: True
The read operation will resume...

  Key pressed: Q

Press any key, or 'X' to quit, or CTRL+C to interrupt the read operation:
  Key pressed: X

*/


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.