• c# 事件 测试


    KeyEventArg.cs

    using System;

    namespace EventTest
    {
    internal class KeyEventArg : EventArgs
    {
    private char keyChar;
    public KeyEventArg(char k)
    : base()
    {
    this.keyChar = k;
    }

    public char KeyChar
    {
    get
    {
    return keyChar;
    }
    }
    }

    internal class KeyInput
    {
    public delegate void KeyDonwHandle(object sender, KeyEventArg e);
    public event KeyDonwHandle KeyDown;
    public void run()
    {
    bool finish = false;
    do
    {
    Console.WriteLine("请输入:");
    string s = Console.ReadLine();
    char c = (s == "") ? ' ' : char.ToUpper(s[0]);
    switch (c)
    {
    case 'X':
    finish = true;
    break;
    default:
    KeyEventArg key = new KeyEventArg(c);
    KeyDown(this, key);
    break;

    }

    } while (!finish);
    }
    }


    internal class ReceiveEvent
    {
    public ReceiveEvent(KeyInput moin)
    {
    moin.KeyDown += new KeyInput.KeyDonwHandle(moin_KeyDown);
    }

    void moin_KeyDown(object sender, KeyEventArg e)
    {
    Console.WriteLine("事件被除法");
    Console.WriteLine(e.KeyChar);
    }

    }


    }

    实例化:

    using System;

    namespace EventTest
    {
    class Program
    {
    static void Main(string[] args)
    {

    KeyInput k = new KeyInput();

    ReceiveEvent r = new ReceiveEvent(k);
    k.run();
    }
    }
    }

  • 相关阅读:
    POI2012 (持续更新中)
    [BZOJ2797][Poi2012]Squarks
    [BZOJ2796][Poi2012]Fibonacci Representation
    [BZOJ2791][Poi2012]Rendezvous
    [BZOJ2795][Poi2012]A Horrible Poem
    [BZOJ2794][Poi2012]Cloakroom
    纸张概率/期望题
    2016-5-11授课
    bzoj4519: [Cqoi2016]不同的最小割
    poj3693 Maximum repetition substring
  • 原文地址:https://www.cnblogs.com/lanyue52011/p/2674246.html
Copyright © 2020-2023  润新知