Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

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

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++;
  }
}

No comments yet.

Leave a Comment