C#事件最简单的使用方法

事件可以说是C#中性价比极高的知识,那如何使用事件呢?

假如我想要点击窗口1中的按钮弹出窗口2,然后点击窗口2中的按钮使得原来的窗口1背景色改变

这里就会用到事件。

首先我们如果要使用事件就要对事件有清楚的认识。

举个例子,假如你是一个典狱长,你想要监视一个犯人,如果这个犯人靠近监狱的门就让你的小弟去警告他。

在这个例子里面,犯人就是被监视的类,事件就是犯人靠近监狱门,你就是事件触发后作出相应反应的类。

可以把事件看成灯的开关,当你按下灯的开关后,事件就被触发,灯泡则根据开关的状态选择亮起或熄灭。

回到刚开始的修改背景色问题,要怎么实现代码呢?

  1. 定义事件(相当于先在犯人的房间里装好摄像头)
  2. 监听事件
  3. 触发事件
  4. 响应事件

创建一个Form1,界面上添加一个按钮

再创建一个form2,然后在form1的按钮上创建form2show出来

form2定义一个事件(<>内部是事件抛出的信息,这里抛出了一个int对象和一个string对象,closeAction是事件的名字)Action表示有参数但是没有返回值的事件

        public Action<int,string> CloseAction;

form2中添加一个按钮,在按钮点击代码中添加下面这一句(触发(抛出)事件)

            CloseAction?.Invoke(3, "hello");

这一句代码中的?的作用是抛出之前检查有没有对象在监听,如果没有就不去触发,然后回到from1,在form2创建之后调用show()之前加一句代码,加完之后会变成这样

            Form2 form2 = new Form2();
            form2.CloseAction +
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值