『参考』.net CF组件编程(1)——基础之后

前言:

  最近,自己动手做了个Tcp的小程序,用于手机和台式机之间的局域网数据传输,说起这个来,总是要通过编写通讯类基础代码来实现(可以说是我的复用做的不够好),拿给别人用(主要是开发人员朋友)也是觉得不方便,所以到园子里,查了一些关于组件(Component)的资料,发现有一个不错哦,他的博文地址如下:http://www.cnblogs.com/mapserver/category/65343.html,说了很多.net组件编程的东西。当然,我的这几篇随笔也是参考他写的而来,只是被我移植到.net cf上面了。在此要感谢mapserver的分享!

  在这一篇“基础”中,我就不再重复Mapserver的基础部分了,这里主要和大家分享一下我的一些经验,以免大家走了弯路。

正文:

  首先,如何创建一个组件项目,我就不多说了,只需记得我们要用在.net cf下,应该从智能设备项目中开始创建类库即可!然后,将我们的类继承:Component,即可,当然,记得引用:using System.ComponentModel;

  其次,我们再为组件添加属性时,那些PropertyAttribute标签,形如:[Category("Customer's Details"), Description("Customer's Sex")] 的东东,在.net cf中已经不复存在,那么如何让组件的属性(公开的),在设计时可见呢,如下图:

属性

  经过同仁指点,大家可以到这里看到解决办法,经过我的实验,果真通过:http://www.cnblogs.com/OSCAR_NJU/archive/2008/04/02/1134231.html,这就是为移动组件添加属性描述的方法。可谓经典啊!

  说了这么多,可能已经有朋友,照着开篇的连接进入Mapserver的文章,并动手实验了一把,我也比较喜欢自己动手的,所以,下面我们就一步一步来,写一个基础的.net cf组件吧,组件的功能是Tcp连接测试(为了方便才使用这个话题,你可以换成你自己的东东呢)。

 

动手部分:

  首先,还是新建一个智能设备项目,解决方案名称自定,然后选择WM5平台,用.net cf 2.0框架,项目类型请使用类库,名称就叫做“TCPComponent"吧,然后,修改默认的Class1.cs名称为:TCPHelper.cs,之后,在此文件的代码中,添加引用,以及让类继承Component。

using System.ComponentModel;

public class TCPHelper : Component

此时,你应该能发现,TcpHelper.cs的图标变成组件的样子了吧,反正不是原来的绿色的鸟~。好的,然后,让我们为组件添加公开的属性吧,主要有两个,第一个是远程主机的ip地址,在设计时以及运行时都能设置,其次是连接端口,我们在类的结构中申明这两个属性:

 

申明属性

 

ok,编译一下,应该能通过了吧,然后在解决方案中,添加一个WM5的应用程序项目,应该能在工具箱上,看到TCPHelper这个带齿轮的组件,如果看不到,请右键单击工具箱,选择项——》然后手动添加组件的dll文件。

你会发现,把组件拖到设计界面上后,那些属性值居然没有描述,也没有分类,再参考上文提到的那篇文章后,我们右键点击组件项目的名字,选择“添加项”,在选择“设计时属性文件”,在这个文件中,我们添加如下信息:

 

Code

 

再编译一下,重新把工具箱中的组件拖入设计界面,是不是就有属性描述和分类了呢?如下图:

ok,这里基本上,就完成了一个基本组件的设置,在下一篇的随笔,我将介绍如何为组件添加方法,以及属性默认值的处理。

posted @ 2009-11-27 10:58  Jack Fan  阅读(2561)  评论(12编辑  收藏  举报
TOP