关闭

事件与委托在监测键盘按键中的应用

328人阅读 评论(0) 收藏 举报

1.定义事件参数类
 class MyEventArgs:EventArgs //事件参数类

    {
        private string keyChar;   //键值
        public string KeyChar
        {
            get { return keyChar; }
        }
        public MyEventArgs(string keyChar)
        {
            this.keyChar = keyChar;
        }

    }
2.定义用户输入监视器类
 class UserInputMonitor
    {
        public delegate void UserRequest(object sender, MyEventArgs e);
        public event UserRequest OnUserRequest;
        public void Run()
        {
            bool finished = false;
            do
            {
                string inputString = Console.ReadLine();
                if (inputString != "")
                {
                    OnUserRequest(this, new MyEventArgs(inputString));
                }
            } while (!finished);
        }
    }
3.
public class Client
    {
        public static void Main()
        {
            UserInputMonitor monitor = new UserInputMonitor();
            new Client(monitor);
            monitor.Run();
        }
        private void ShowMessage(object sender,MyEventArgs e)
        {
            Console.WriteLine("捕捉到:{0}",e.KeyChar);
        }
        Client(UserInputMonitor m)
        {
           m.OnUserRequest += new UserInputMonitor.UserRequest(this.ShowMessage);
        }
    }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:555749次
    • 积分:8541
    • 等级:
    • 排名:第2346名
    • 原创:283篇
    • 转载:112篇
    • 译文:0篇
    • 评论:31条
    最新评论