实例.net CF组件编程之Tcp的小程序第2篇为组件添加事件
在前一篇文章中,大家和我一起已经为组件添加了其必要属性,那么,在有了属性之后,我们就接着为组件添加事件响应的功能吧,毕竟每个组件都应该有个简单的事件,要不组件就成
在前一篇文章中,大家和我一起已经为组件添加了其必要属性,那么,在有了属性之后,我们就接着为组件添加事件响应的功能吧,毕竟每个组件都应该有个简单的事件,要不组件就成属性容器了,呵呵。
好的,还是接上文『参考』实例.net CF组件编程之Tcp的小程序第1篇之后,我们在TcpHelper.cs组件类中,添加一个基本的Tcp连接代码如下:
基本TCP方法:
Code [http://www.xueit.com]
/// <summary> /// 链接远程主机,用于测试网络的连通性 /// </summary> private void Connect() { try { IPEndPoint iep = new IPEndPoint(IPAddress.Parse(this.HostName), this.Port); client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); client.Connect(iep); ConnectHandler("连接成功!");//使用定义好的私有方法,向事件的订阅者发送“连接成功”消息 } catch (Exception e) { DisconnectHandler(e.Message);//使用定义好的私有方法,向事件的订阅者发送异常消息 } finally { DisconnectHandler("断开连接!");//使用定义好的私有方法,向事件的订阅者发送“断开连接”消息 client.Close(); } }
相信使用过Tcp编程的朋友们是非常熟悉这段代码的,当然,可能会对ConnectHandler以及DisconnectHandler函数陌生,他俩是我们即将定义的一个消息处理函数,用于向事件的订阅者传递事件信息的(这里的信息有点像Catch捕获异常时,那个Exception e中的e.Message),下面我们来真的为组件添加事件吧:
组件事件:
Code [http://www.xueit.com]
/// <summary> /// 线程委托,用于返回连接状态等信息 /// </summary> /// <param name="msg">传出的参数,在实际调用中类似于事件的Args参数</param> public delegate void ConnectStatuDelegate(string msg); /// <summary> /// 返回连接状态事件,ConnectedStatu就是在属性设计器中能看到的事件了 /// </summary> public event ConnectStatuDelegate ConnectedStatu;
定义好事件后,可以参照前一篇文章中,提及的为组件添加属性描述的方法,为事件同样添加好描述。如图:

精彩图集
精彩文章
热门标签
搜索
$_SESSION
iis环境
发短
删除数组
usort
CMD命令
snprintf
字符串连接
三维数组
方块
数据库主键
JoshChen
上传进度
不同顺序排
杨辉三角形
windows命令行
windows换行符
网址缩短
代码运行
淘宝API
提供
CentOS6.3
动态删除div
须要
主从延时
getservbynam
横竖屏
tbody
粘滞键后门
步骤
常规错误
音序
1.01
Web框架
通信模块
text内容
远程控制
$$
类成员
主键设计
__setattr__
sstream
文件执行
邮箱
当前年月日
win32com
自定义图片
企业
逐行读取文件
短链接
label
扫描
追踪器
多张
魔术方
实参
register_shu
Mail发邮件
电话
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229

