实例.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;
定义好事件后,可以参照前一篇文章中,提及的为组件添加属性描述的方法,为事件同样添加好描述。如图:

精彩图集
精彩文章
热门标签
hashing
动态参数
严格模式
QRCode
跨iframe
性能提示
大小写敏感
get_headers
lt;emgt;标
TAG乱码
flexpapers
Nodejs
使用使用
LRC
内核驱动
中文
HashSet
sqlite数据
原生函数
图片内容
COM编程
延迟加
ISAPI_Rewrit
array_map
图片检测
DHCP动态获取IP
图文新闻
异地备份
weblogic
漏洞
振兴
排序函数
is_null
微信java
confi
__defineGett
文件任意位置
UbuntuSamba
表架构
AdvStringGri
blowfish_sec
背景选择器
string数组
C语言编程
不等于号
新算法
导入远程
插
3.x
浮动
发送邮
模板方法模式
空值
图片下载
动态加载js
时间差
合并SQL脚本
二进制流
获取函数名称
10乘阶
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229

