事件代码
来源:互联网 发布:matlab求数组长度 编辑:程序博客网 时间:2024/05/21 08:54
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Generic;
using System.Text;
namespace Cat
{
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat("猫");
Mouse mouse = new Mouse("老鼠", cat);
Person person = new Person("主人", cat);
{
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat("猫");
Mouse mouse = new Mouse("老鼠", cat);
Person person = new Person("主人", cat);
cat.OnEvent();
}
}
}
}
//定义事件参数类
public class MyEventArgs : EventArgs
{
private string message;
public MyEventArgs(string message)
{
this.message = message;
}
public class MyEventArgs : EventArgs
{
private string message;
public MyEventArgs(string message)
{
this.message = message;
}
public override string ToString()
{
return message + "叫了!";
}
}
{
return message + "叫了!";
}
}
//定义事件发送者(事件的触发者(猫))
public class Cat
{
private string name;
public Cat(string name)
{
this.name = name;
}
//定义委托
public delegate void MyDelte(object sender, MyEventArgs even);
public delegate void MyDelte(object sender, MyEventArgs even);
//定义事件
public event MyDelte myEvent;
public event MyDelte myEvent;
//定义触发事件的方法
public void OnEvent()
{
if (this.myEvent != null)
{
MyEventArgs myArgs = new MyEventArgs(name);
Console.WriteLine(myArgs.ToString());
myEvent(this, myArgs); //执行事件
}
}
}
public void OnEvent()
{
if (this.myEvent != null)
{
MyEventArgs myArgs = new MyEventArgs(name);
Console.WriteLine(myArgs.ToString());
myEvent(this, myArgs); //执行事件
}
}
}
//定义事件的接收者
public class Mouse
{
private string name;
//注册事件
public Mouse(string name,Cat cat)
{
this.name = name;
cat.myEvent += new Cat.MyDelte(cat_myEvent);
}
public class Mouse
{
private string name;
//注册事件
public Mouse(string name,Cat cat)
{
this.name = name;
cat.myEvent += new Cat.MyDelte(cat_myEvent);
}
//事件的驱动程序
void cat_myEvent(object sender, MyEventArgs even)
{
Console.WriteLine(name + "逃跑!");
}
void cat_myEvent(object sender, MyEventArgs even)
{
Console.WriteLine(name + "逃跑!");
}
}
public class Person
{
private string name;
public Person(string name, Cat cat)
{
this.name = name;
cat.myEvent += new Cat.MyDelte(cat_myEvent);
}
//事件的驱动程序
void cat_myEvent(object sender, MyEventArgs even)
{
Console.WriteLine(name + "惊醒!");
}
}
void cat_myEvent(object sender, MyEventArgs even)
{
Console.WriteLine(name + "惊醒!");
}
}
}
- 事件代码
- DataGrid相关事件代码
- c#事件示例代码
- 鼠标经过事件代码
- 委托 事件 代码理解
- .net事件实例代码
- javascript事件代码
- 代码触发js事件
- 事件示例代码
- js键盘事件代码
- extjs自定义事件代码
- 加载事件js代码
- ATU事件代码TD
- 拖动事件的代码
- javascript冒泡事件代码
- 事件模型兼容代码
- checkbox 选中事件代码
- JS事件冒泡代码
- 冒泡排序代码
- 28个JS验证函数使用【转载】
- 哎 没积分啊
- 文件压缩及解压代码2
- 侦听xianchen
- 事件代码
- C#多线程学习(一) 多线程的相关概念
- 正则表达式
- java编程规范
- 图片的连续流动
- RecordStore的三种操作用法
- Java
- Runtime.getRuntime().addShutdownHook()的使用
- 程序员能力矩阵