zoukankan
html css js c++ java
C#事件编程
1.定义一个 "代表"
如:
public
delegate
void
DisconnectedEventHandler(
object
sender,ClientEventArgs e);
2.定义事件参数
如:
public
class
ClientEventArgs : EventArgs
{
public
IPAddress IP
{
get
{
return
( (IPEndPoint)
this
.socket.RemoteEndPoint ).Address; }
}
public
int
Port
{
get
{
return
((IPEndPoint)
this
.socket.RemoteEndPoint).Port;}
}
public
ClientEventArgs(Socket clientManagerSocket)
{
this
.socket
=
clientManagerSocket;
}
}
3.使用"代表"定义一个事件
public
event
DisconnectedEventHandler Disconnected;
4.触发事件
protected
virtual
void
OnDisconnected(ClientEventArgs e)
{
if
( Disconnected
!=
null
)
Disconnected(
this
, e);
}
this
.OnDisconnected(
new
ClientEventArgs(
this
.socket));
5.使用事件
ClientManager newClientManager
=
new
ClientManager(socket);
newClientManager.Disconnected
+=
new
DisconnectedEventHandler(ClientDisconnected);
6.定义事件处理方法
void
ClientDisconnected(
object
sender , ClientEventArgs e)
{
if
(
this
.RemoveClientManager(e.IP) )
this
.UpdateConsole(
"
Disconnected.
"
, e.IP , e.Port);
}
欢迎光临:
http://shiningrise.cnblogs.com
查看全文
相关阅读:
ListView的item中EditText编辑(或者其他控件)修改本行数据
C#:MVC引用Log4Net生成错误日志
Web Developer教程
EditPlus高级使用技巧(附视频、课件、代码下载)
jQuery入门篇
网摘系统架构
BugFree 2.0使用帮助
使用 WebDeployment Project 视频
BugFreeHelper 2.2 For BugFree2.0(RTM)
FireFox3推荐安装附加组件Top10(附官方主页和下载地址)
原文地址:https://www.cnblogs.com/shiningrise/p/744345.html
最新文章
[Ruby]如何动态创建一个对象
当男人遇见爱情,当爱情遇见时差
其实爱真的很简单
asp.net中<%%>、<%=%>、<%#%>的区别是什么
关于我的决心
get和post的区别
面试第四天感悟
定义了重复的“system.web.extensions/scripting/scriptResourceHandler”节点
616 ADO.NET基础和连接池
简单ASP.NET运行机制图
热门文章
01Singleton (Creational Pattern)
设计模式简介
微型ORM PetaPoco 明天面试回来整理一下
百度地图嵌入到程序中
Application is not installed 应用程序未安装
文本编码
自动生成损益单
nginx负载均衡配置
asp.net访问dcom组件(wps或office)配置
jquery特效网站
Copyright © 2011-2022 走看看