Event 事件
事件是建立在委托的基础之上的。
http://www.cnblogs.com/lystory/p/5085786.html
public class 事件参数
{
public 事件参数(string s) { Text = s; }
public String Text { get; private set; } // readonly
} public class 事件发布者
{
/// <summary>
/// 申明一个委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void 委托1(object sender, 事件参数 e); /// <summary>
/// 申明一个委托型事件
/// </summary>
public event 委托1 事件1; public virtual void 执行(string msg)
{ ///如果事件被订阅(有订阅者)传信号给订阅者(这个信息是两个参数,object sender, 事件参数 e )
if (事件1 != null)
事件1(this, new 事件参数(msg));
}
} class Program
{
static void Main(string[] args)
{ 事件发布者 f = new 事件发布者(); ///订阅这个事件
f.事件1 += f_事件1; f.执行("帮我做一件事情"); Console.ReadLine(); } /// <summary>
/// 事件接收者
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
static void f_事件1(object sender, 事件参数 e)
{
Console.WriteLine("我是事件接收者:你给我的命令是:{0}", e.Text);
} }
运行结果:

C#事件在编程中无处不在。我们的OnClick,其背后都是事件做出来的
观察者模式就是以事件为基础,还有多线程编程中,离不开事件。
理解了委托就能理解事件,事件是建立在委托的基础之上。
参考文档
http://www.cnblogs.com/reommmm/archive/2009/03/23/1419573.html
Event 事件的更多相关文章
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- Event事件
妙味课堂-Event事件 1.焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点) 给元素设置焦点的方式: 1.点击 2.tab 3.js 2.(例子:输入框提示文字) ...
- JS学习笔记9之event事件及其他事件
-->鼠标事件-->event事件对象-->默认事件-->键盘事件(keyCode)-->拖拽效果 一.鼠标事件 onclick ---------------鼠标点击事 ...
- JS(event事件)
常用的event事件: 属性 此事件发生在何时... onabort 图像的加载被中断. onblur 元素失去焦点. onchange 域的内容被改变. onclick 当用户点击某个对象时调用的事 ...
- event事件学习小节
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Javascript 事件对象(二)event事件
Event事件: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" ...
- js event 事件兼容浏览器 ie不需要 event参数 firefox 需要
js event 事件兼容浏览器 ie不需要 event参数 firefox 需要 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
- PHP event 事件机制
PHP event 事件机制 <?php /* * PHP 事件机制 */ class baseClass{ private $_e; public function __set($name ...
- trigger()的event事件对象之坑
问题引入,先贴一段有问题的代码,如果你对 trigger() 这个函数了解不透彻,还真看不出这段代码错在哪.完成的功能是样式转换器,想让页面在加载后自行触发点击事件隐藏三个按钮,但是效果如图并没有隐 ...
- Event事件详解
首先提到event,先要明白event的产生,也要先明白焦点,什么是焦点.焦点 : 使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置 ...
随机推荐
- Android高级控件(下)
Chronometer计时器 常用的方法 getBase() 基准时间 setFormat 设置显示格式 start() 开始计时 stop() 停止计时 setOnChronometerListen ...
- (转)JPA + SpringData
jpa + spring data 约定优于配置 convention over configuration http://www.cnblogs.com/crawl/p/7703679.html 原 ...
- 解决idea控制台乱码及项目乱码
如果控制台出现乱码,解决办法: 第1方案:.找到安装idea的路径下找idea文件下的bin中vmoptions文件,打开该文件,加上-Dfile.encoding=UTF-8 第二方案: 第3种方案 ...
- CSS 颜色
color属性可以指定HTML文本的颜色. HTML的颜色采用以下3种方式表示. RGB值 使用红色.绿色.蓝色等不同比例表示,如 1 rgb(100,90,90) 值在0~255之间. 十六进制编码 ...
- js基础-类型转换
显示类型转换 Number() 将任意类型转换数值类型 true 1 false 0 Number(null) => 0 Number(undefined) => NAN Number(' ...
- 启动 idea 编译报错 kotlin
怀疑是插件问题. 重新删除了. C:\Users\user 里面inteliJIdea2018.3 缓存 ,解决
- JS拖拽元素原理及实现代码
一.拖拽的流程动作 ①鼠标按下②鼠标移动③鼠标松开 二.拖拽流程中对应的JS事件 ①鼠标按下会触发onmousedown事件 ②鼠标移动会触发onmousemove事件 ③鼠标松开会触发onmouse ...
- C++ STL--queue 的使用方法
2.queuequeue 模板类的定义在<queue>头文件中.与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是 ...
- vim字符串替换及小技巧
vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...
- 2.6、CDH 搭建Hadoop在安装(安装CDH和其他软件)
第6步:安装CDH和其他软件 设置Cloudera Manager数据库后,启动Cloudera Manager Server,然后登录Cloudera Manager Admin Console: ...