当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 下面真正开始讲事件的内容

ASP.NET
asp.net 禁用viewstate在web.config里
asp.net 虚方法、抽象方法、接口疑问
c# 操作符?? null coalescing operator
.net 反序题目的详细解答
implicitly convert type ''int'' to ''short''的原因与解决方法
比较完整的 asp.net 学习流程
官网 Ext direct包中.NET版的问题
C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)
c# 连接字符串数据库服务器端口号 .net状态服务器端口号
ASP.NET 路径问题的解决方法
asp.net TemplateField模板中的Bind方法和Eval方法
asp.net Web.config 详细配置说明
asp.net 2个日期之间的整月数的算法
ASP.Net PlaceHolder、Panel等控件未实现INamingContainer,导致FindControl无效
Request.RawUrl 属性的应用收
.net 读取项目AssemblyInfo.cs属性值
asp.net URL 显示乱码 解决方法
asp.net 页面之间传递参数的几种方法
asp.net 一个封装比较完整的FTP类
C# FTP,GetResponse(),远程服务器返回错误

ASP.NET 中的 下面真正开始讲事件的内容


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 200 ::
收藏到网摘: n/a


首先还是要问,什么是事件?
事件类似于异常,都是由对象触发的。不同的事件只不过是触发的时间,原因不一样罢了
所以有了Onload OnClick等事件订阅事件的含义就是给事件提供处理程序的代码在事件发生的时候执行这些代码他们称之为事件处理程序
时间可以有许多订阅的处理程序在事件触发的时候这些程序都会被调用
事件处理程序本身都是简单的函数他们唯一的限制就是要具有和委托相同的签名
发现自己的表达能力不行,还是来个例子吧

//定义委托
public delegate void MessageHandler(string messageText);
public class Connection
{
//定义事件
public event MessageHandler MessageArrived;
private Timer pollTimer;
public Connection()
{
pollTimer = new Timer(100);
pollTimer.Elapsed += new ElapsedEventHandler(CheckForMessage);
}
public void Connect()
{
pollTimer.Start();
}
public void Disconnect()
{
pollTimer.Stop();
}
private void CheckForMessage(object source, ElapsedEventArgs e)
{
Console.WriteLine("Checking for new messages.");
Random random = new Random();
if ((random.Next(9) == 0) && (MessageArrived != null))

{
//激发事件
MessageArrived("Hello Mum!");
}
}
}

public class Display
{
//事件案所要执行的函数
public void DisplayMessage(string message)
{
Console.WriteLine("Message arrived: {0}", message);
}
}


class Class1
{
static void Main(string[] args)
{
Connection myConnection = new Connection();
Display myDisplay = new Display();
//订阅事件
myConnection.MessageArrived +=
new MessageHandler (myDisplay.DisplayMessage);
myConnection.Connect();
Console.ReadLine();
}
}

总值事件的三要素要具备:
1、事件委托
2、事件的定义
3、事件的订阅
有了这三项,再在适时的时候触发该事件,相应的代码就会被执行

都怪语文没学好,惭愧