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

精彩图集
精彩文章
热门标签
Oracle数据库
ctype函数
mysql小技巧
MIME
II
超链接
js操作table
PHP框架
hashing
des加密
vspace
SessionFacto
print_r
抓取豆瓣
创建
o
squid
jsp操作MySQL
加减
则是
COLOR
Shell.Applic
jira
起止时间
当前url
c00ce56e
消息窗口
nagios飞信监控
in_array
RAC
http
提交数据
内存管理
计算机
手电筒
pytho
过滤排序
oracle下载
大类
数组查询
传输
APPPOOL
漫画
技能
python代码检查
硬件列表
访问远程文
基础 纯属疑问
之双
php程序员
验证
浅谈
GPS功能
多个定时器
我所
改变按钮
数据存储
数据库主键
除法运算
文件夹
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229

