Gérer les événements des touches du clavier

Author:

Gérer,les,événements,des,touches,du,clavier
{filelink=15054}

 using System; 

 public class ExempleTouche
 {
  public static void Main()
  {
    KeyEvent kevt = new KeyEvent();
    ProcessKey pk = new ProcessKey();
    CountKeys ck = new CountKeys();
    char ch; 

    kevt.KeyPress += new KeyHandler(pk.keyhandler);
    kevt.KeyPress += new KeyHandler(ck.keyhandler); 

    Console.WriteLine("Tapez quelque chose pour sortir tapez 'Q'.");
    do {
      ch = (char) Console.Read();
      kevt.OnKeyPress(ch);
    } while(ch != 'Q');
    Console.WriteLine(ck.count + " Touche(s) pressée(s).");
  }
}
// Créer une classe personnalisé qui gère les touches appuyées.
class KeyEventArgs : EventArgs {
  public char ch;
} 

// Déclarer un 'délégué' pour les événements.
delegate void KeyHandler(object source, KeyEventArgs arg);

// Classe pour gérer les événements de 'KeyPress'.
class KeyEvent {
  public event KeyHandler KeyPress; 

  // Cette méthode s'exécute lorsqu'une touche est pressée.
  public void OnKeyPress(char key) {
    KeyEventArgs k = new KeyEventArgs(); 

    if(KeyPress != null) {
      k.ch = key;
      KeyPress(this, k);
    }
  }
} 

class ProcessKey
{
  public void keyhandler(object source, KeyEventArgs arg) {
    Console.WriteLine("Les touches pressées: " + arg.ch);
  }
} 


class CountKeys {
  public int count = 0; 

  public void keyhandler(object source, KeyEventArgs arg) {
    count++;
  }
} 

Leave a Reply

Your email address will not be published. Required fields are marked *