实例.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;
定义好事件后,可以参照前一篇文章中,提及的为组件添加属性描述的方法,为事件同样添加好描述。如图:
精彩图集
精彩文章
热门标签
代码规范
MVVM
ISNULL
用户安全
WEB表单
不损失透明色
.net
单元测试
mytop
SQL语句
父进程
命令行
多进程同步
数据库镜像
单用户登录
页面跳转
目标文件更新
导致ASP.N
调用方
密码处理
关系数据库
2种
关闭本窗口
Mongodb一些命令
分治假币
php php在一
1-byte
非贪婪模式
表损坏
java分布式
移出节点
前导0
python日期
它在
层飘出
grub启动项
glob
去空格
字符串长度
指令大全
阻止泄漏
表名
数据加解密
size
tinyxml
静态局部变量
图片自定
菱形
手游
strip
handler
chroot
JVM
gb2312
新增元素
编译参数
是否删除
CPU温度
纵表
更简单
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229