『参考』.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文件。
你会发现,把组件拖到设计界面上后,那些属性值居然没有描述,也没有分类,再参考上文提到的那篇文章后,我们右键点击组件项目的名字,选择“添加项”,在选择“设计时属性文件”,在这个文件中,我们添加如下信息:
再编译一下,重新把工具箱中的组件拖入设计界面,是不是就有属性描述和分类了呢?如下图:
ok,这里基本上,就完成了一个基本组件的设置,在下一篇的随笔,我将介绍如何为组件添加方法,以及属性默认值的处理。
出处:http://longqi293.cnblogs.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
本篇博文 by Jack Fan is licensed under a Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License.
这是我的公众号,【代码只是副业】