using
System;
public class KeyEventArgs : EventArgs
{
public char ch;
}
public delegate void KeyHandler( object source,KeyEventArgs arg);
public class KeyEvent
{
public event KeyHandler KeyPress;
public void OnKeyPress( char key)
{
KeyEventArgs k = new KeyEventArgs();
if (KeyPress != null )
{
k.ch = key;
KeyPress( this , k);
}
}
}
public class ProcessKey
{
public void Process( object source, KeyEventArgs arg)
{
Console.WriteLine( " Received keystroke: " + arg.ch);
}
}
public class CountKeys
{
public int count = 0 ;
public void Process( object source, KeyEventArgs arg)
{
count ++ ;
// Console.WriteLine(count.ToString());
}
}
public class KeyEventDemo
{
static void Main( string [] args)
{
KeyEvent kevt = new KeyEvent();
ProcessKey pk = new ProcessKey();
CountKeys ck = new CountKeys();
char ch;
kevt.KeyPress += new KeyHandler(pk.Process);
kevt.KeyPress += new KeyHandler(ck.Process);
Console.WriteLine( " Enter some characters. " + " Enter a period to stop. " );
do
{
ch = ( char )Console.Read();
kevt.OnKeyPress(ch);
}
while (ch != ' . ' );
Console.WriteLine(ck.count + " keys pressed. " );
}
}
public class KeyEventArgs : EventArgs
{
public char ch;
}
public delegate void KeyHandler( object source,KeyEventArgs arg);
public class KeyEvent
{
public event KeyHandler KeyPress;
public void OnKeyPress( char key)
{
KeyEventArgs k = new KeyEventArgs();
if (KeyPress != null )
{
k.ch = key;
KeyPress( this , k);
}
}
}
public class ProcessKey
{
public void Process( object source, KeyEventArgs arg)
{
Console.WriteLine( " Received keystroke: " + arg.ch);
}
}
public class CountKeys
{
public int count = 0 ;
public void Process( object source, KeyEventArgs arg)
{
count ++ ;
// Console.WriteLine(count.ToString());
}
}
public class KeyEventDemo
{
static void Main( string [] args)
{
KeyEvent kevt = new KeyEvent();
ProcessKey pk = new ProcessKey();
CountKeys ck = new CountKeys();
char ch;
kevt.KeyPress += new KeyHandler(pk.Process);
kevt.KeyPress += new KeyHandler(ck.Process);
Console.WriteLine( " Enter some characters. " + " Enter a period to stop. " );
do
{
ch = ( char )Console.Read();
kevt.OnKeyPress(ch);
}
while (ch != ' . ' );
Console.WriteLine(ck.count + " keys pressed. " );
}
}