谁能解释一下c#中的'事件'的用法

谁能帮我讲解一下c#中事件是怎么回事?我看了基本资料都没搞懂,说具体点,通俗易懂点... 谁能帮我讲解一下c#中事件是怎么回事?我看了基本资料都没搞懂,说具体点,通俗易懂点 展开
 我来答
createroselove
2008-04-29 · TA获得超过285个赞
知道答主
回答量:85
采纳率:0%
帮助的人:26.8万
展开全部
其实你现在没必要去搞清楚事件编程的内核处理,而只需要学习事件的使用就够了,一般来说事件的使用是与某个动作挂钩。比如:
你可能每天早上都要吃早饭,但是在吃早餐之前一般都会洗脸、刷牙等才会吃早餐,从这个例子来看,吃早餐是一个动作,而吃早餐之前则是一个事件,而这个事件一旦被触发则被要求要洗脸和刷牙。对于一个动作一般都会有三个事件如吃饭之前、吃饭中、吃饭后,可以说吃饭之前是动作的一种状态,这就是事件,而事件触发则是动作的某种状态被达到,事件触发后则会发生相关的其他动作,而每个动作又有相应的事件状态。总结而言,事件的使用是为了在某个动作的状态被达到的时候应进行某个动作而服务的!
如按钮的单击事件:单击是动作,而按钮的单击事件是指的按钮被单击的状态达到的时候应该做某件事情。在C#中的动作都可以用方法来表示!
写了这么多,希望能帮助你理解!
xiangjuan314
2016-03-10 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2841万
展开全部

事件(event)

  1. 可以把事件编程简单地分成两个部分:事件发生的类(书面上叫事件发生器)和事件接收处理的类。

  2. 事件发生的类就是说在这个类中触发了一个事件,但这个类并不知道哪个个对象或方法将会加收到并处理它触发的事件。所需要的是在发送方和接收方之间存在一个媒介。这个媒介在.NET Framework中就是委托(delegate)。

  3. 在事件接收处理的类中,需要有一个处理事件的方法。就按照这个顺序来实现一个捕获键盘按键的程序,来一步一步说明如何编写事件应用程序。

具体应用:

internal class KeyInputMonitor
{
    // 创建一个委托,返回类型为void,两个参数
    public delegate void KeyDownHandler( object sender, KeyEventArgs e );
    // 将创建的委托和特定事件关联,在这里特定的事件为KeyDown
    public event KeyDownHandler KeyDown;

    public void Run()
    {
        bool finished = false;
        do
        {
            Console.WriteLine( "Input a char" );
            string response = Console.ReadLine();

            char responseChar = ( response == "" ) ? ' ' : char.ToUpper( response[0] );
            switch( responseChar )
            {
                case 'X':
                    finished = true;
                    break;
                default:
                    // 得到按键信息的参数
                    KeyEventArgs keyEventArgs = new KeyEventArgs( responseChar );
                    // 触发事件
                    KeyDown( this, keyEventArgs );
                    break;
            }
        }while( !finished );
    }
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ma5276258
2008-04-26 · TA获得超过356个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:122万
展开全部
事件 就像是个 触发器。。。
当你触发它的时候,他就会响应 你所设定的事件。。。

你把开关连到 灯 上 当你按下的时候 灯就会亮。

就相当于 你写的 方法里面的 if条件。。
如果他 按下按钮 那么执行 你 {}里面的条件。。

事件就是这样吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sandra0821
推荐于2016-02-24
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
事件就是对象之间通信的一种机制。在面向对象的编程语言中,任何一个对象都可以有相应的事件。例如:鼠标单击事件、鼠标移动事件、按钮单击事件等等。在按钮单击事件中,是鼠标对象向按钮对象发出的一个消息,所以就是鼠标和按钮两个对象通信的一种机制。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
觅哥觅佳影
2008-04-29 · 超过19用户采纳过TA的回答
知道答主
回答量:174
采纳率:0%
帮助的人:40.6万
展开全部
这样理解:
事件就是对象发送的消息,以发信号的方式通知操作的发生,信号是由用户交互或程序逻辑触发的.触发事件的对象叫事件的发送方,捕获事件并对其作出响应的叫事件接收方.
在事件的通信中,由于事件的发送方不知道哪个对象或方法将接收处理它所引发的事件,所以需要在发送方和接收方之间存在一个媒介,就是委托.所以说委托就是事件或事件就是委托是不对的.

这个是我整理的笔记,希望能帮你理解事件和委托的概念
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式