摘要: 在上一篇文章里我们创建了一个简单的控件FirstControl,现在我来介绍一下怎么使用和调试自己的控件。我希望将过程写的尽可能的详细,让想学习控件开发的朋友容易上手,高手们见谅。 在同一个solution里添加一个Windows Application工程(在Solution Explorer里右键点击CustomControlSample solution选择Add->N... 阅读全文
posted @ 2006-12-05 21:51 纶巾客 阅读(19287) 评论(9) 推荐(2) 编辑
摘要: 在我们开发自定义控件的过程中,我们常常会给控件添加集合属性。比如定制Grid控件就会有Column集合。当集合属性发生变化时,比如添加新元素,删除新元素,我们要通知控件去重绘以反映新的变化。我们可以创建一个集合类,在类里添加一个新的事件,并在集合发生变化时触发事件。.Net框架已经为我们提供了现成的委托声明,下面我们来看看怎么使用。 我创建一个名字叫HeaderCollect... 阅读全文
posted @ 2006-12-04 23:12 纶巾客 阅读(5112) 评论(3) 推荐(0) 编辑
摘要: 我本人不是专业的控件开发人员,只是在平常的工作中,需要自己开发一些控件。在自己开发WinForm控件的时候,没有太多可以借鉴的资料,只能盯着MSDN使劲看,还好总算有些收获。现在我会把这些经验陆陆续续的总结出来,写成一系列方章,希望对看到的朋友有所帮助。今天我来开个头。 其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。如果你有MFC或者API图形界... 阅读全文
posted @ 2006-12-04 23:03 纶巾客 阅读(31319) 评论(35) 推荐(7) 编辑
摘要: 在做控件的时候经常会遇到一个很烦人的问题,就是在测试工程中加入自己的控件,然后编辑属性的总是提示"Unable to cast object of type Xto type X"。看到这个问题,真是叫人哭笑不得啊。两个类名完全一样,何谓“无法转换” 。 既然出了问题,就得解决,一步一步跟吧。设好环境,调试控件的设计时行为,运行的结果竟然是完全没有问题。没有问题却成了最大的问... 阅读全文
posted @ 2006-12-04 10:01 纶巾客 阅读(11702) 评论(2) 推荐(1) 编辑
摘要: 在实际的开发中,为了方便软件的部署我们常常需要让客户手动的选择数据源和数据连接信息。当然我们可以将这些信息写在XML的配置文件里.但是客户并不是专业的编程人员,一不小心就会使连接串写错,导致系统无法运行,最好是让用户能够通过一个图形界面来选择,如下图: 这样子,既方便,有不容易出问题。下来我们就看看怎么实现。我的思路就是调用VS自带的工具,由于没有相关的文档,只有通过反汇编了... 阅读全文
posted @ 2006-12-03 00:20 纶巾客 阅读(4918) 评论(0) 推荐(0) 编辑
摘要: 现在的.NET框架已经为Windows service的开发提供足够强大的支持,你只需要关注service所要实现的逻辑,而完全不用关心service底层是如何实现的,相比以前用MFC来说,真是质的飞跃啊。闲话少谈,看看如何实现一个最基本的windows service,以及如何来调试windows service。 打开VS 2005,点击File->New->Projec... 阅读全文
posted @ 2006-12-01 00:02 纶巾客 阅读(7760) 评论(4) 推荐(0) 编辑
摘要: 记得以前用VC开发自绘制控件的时候,遇到的一个很烦人的问题就是控件在paint的时候总是出现flicker(闪烁)。原因其实很简单,就是你一点一点的向设备上下文环境绘制,中间还有很多逻辑运算,结果就像是动画了,不过计算机的速度比较快,所以呈现在我们面前的闪烁,而闪烁的出现大大的影响的客户的使用体验。后来一个程序员开发了一个后来广为流传的类MemDC,这个类首先创建一个兼容的设备上下文环... 阅读全文
posted @ 2006-11-30 17:24 纶巾客 阅读(5265) 评论(2) 推荐(1) 编辑
摘要: 记得以前要动态的创建Access数据库的mdb文件都是采用DAO,用VC开发,一大堆的API,很是麻烦。现在好像也鲜有人提起DAO。其实动态的创建mdb数据的最简单的方法还是ADOX。 用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用它的Create方法就可以了,如下: ADOX.Catalog catalog = new Catalo... 阅读全文
posted @ 2006-11-30 08:57 纶巾客 阅读(28090) 评论(14) 推荐(6) 编辑
摘要: 决定放弃自己的个人网站了,实在没有时间维护,另外使用的Blog系统也不是自己喜欢的,还是dotText看起来顺眼。 在自己的网站发表文章感觉太孤独了,没有这么多的同行交流,最终还是决定回到cnblogs,不过毕竟在那里写了一些文章了,稍后把那里的文章都移植过来。 希望以后能够和大家多多交流,共同提高。 阅读全文
posted @ 2006-11-29 23:00 纶巾客 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 最近学习制作WinForm控件,自己动手写控件的时候才发现System.Windows.Forms.Control 竟然没有提供默认的border绘制。记得以前用API做控件的时候,只需要设置空间窗口的WS_BORDER 风格就可以。遍寻无方,只有自己绘制了,这里有出现一个,如果border在客户区,那么在OnPaint方法里不得不每次都要考虑Border所占用的区域,而且,如果从这... 阅读全文
posted @ 2006-11-29 22:44 纶巾客 阅读(7843) 评论(14) 推荐(1) 编辑