实例.net CF组件编程之Tcp的小程序第2篇为组件添加事件
在前一篇文章中,大家和我一起已经为组件添加了其必要属性,那么,在有了属性之后,我们就接着为组件添加事件响应的功能吧,毕竟每个组件都应该有个简单的事件,要不组件就成
在前一篇文章中,大家和我一起已经为组件添加了其必要属性,那么,在有了属性之后,我们就接着为组件添加事件响应的功能吧,毕竟每个组件都应该有个简单的事件,要不组件就成属性容器了,呵呵。
好的,还是接上文『参考』实例.net CF组件编程之Tcp的小程序第1篇之后,我们在TcpHelper.cs组件类中,添加一个基本的Tcp连接代码如下:
基本TCP方法:

/// <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),下面我们来真的为组件添加事件吧:
组件事件:

/// <summary> /// 线程委托,用于返回连接状态等信息 /// </summary> /// <param name="msg">传出的参数,在实际调用中类似于事件的Args参数</param> public delegate void ConnectStatuDelegate(string msg); /// <summary> /// 返回连接状态事件,ConnectedStatu就是在属性设计器中能看到的事件了 /// </summary> public event ConnectStatuDelegate ConnectedStatu;
定义好事件后,可以参照前一篇文章中,提及的为组件添加属性描述的方法,为事件同样添加好描述。如图:
精彩图集
精彩文章
热门标签
第三天
inner
SQLObject
jqeury
扩大分辨率
linux配置防火墙
设置宽度
print_r()
SendKeys参考文档
201
Dictionary
定长内存池
继续
mbstring扩展
gravity
from表单
PHP PHP随
写日志文件
line-height
通话记录
格式判断
函数参数
调用c
java验证码
序列号
Guard
磁盘配额
原生事件
应用
可拖动窗口
内存管理
uncheck
半角
记住用户名
gbk字符集
并发
deeplink
据库表结构
经验总结
删除服务
挂载目录
水平居中
AnalogCl
Windows服务器
最小值
table高级应用
python复制文件
函数实例
ViewFlipper
修改字符集
获得焦点
右外联
phpwind
css对联广告
文件类型
MessagePack
c++遍历
backtrak
表达式查
keyCode
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229