c#控件开发
文章平均质量分 69
xiaochongchong1248
这个作者很懒,什么都没留下…
展开
-
WinForm控件开发总结目录
WinForm控件开发总结(一)------开篇 WinForm控件开发总结(二)------使用和调试自定义控件 WinForm控件开发总结(三)------认识WinForm控件常用的Attribute WinForm控件开发总结(四)-----控件属性的串行化 WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器 WinForm控件开发总结(六)-----控件属性类型转换转载 2009-11-16 13:01:00 · 945 阅读 · 0 评论 -
关于dll 中没有可放置在工具箱上的组件的解决技巧
我遇到的问题是再写控件库的扩展类时,没有加public关键字,如 public class MyListView: System.Windows.Forms.ListView { 。。。。}如果去掉 public 也可以生成DLL,但当你把它添加到用户控件时就会提示:在e:/mylistview/bin/myListView.dll中没有可放置在工具箱上的组件转载 2009-11-17 16:07:00 · 2638 阅读 · 0 评论 -
C# 自定义控件-事件处理
这几天为了什么"评估",搞得莫名的紧张,现在评估组走了,反而开始觉得有点无聊了. 为了完善仿Windows的画板,做了一个很原始的颜色抬取控件.现在将大致的过程介绍下.大家也可以直接下载工程文件. 平台:VS 2005 WINFORM 语言:C# 最终效果图:光看看图片似乎说明不了什么问题,还是接着往下看吧! 要想在VS 2005 winform 中编辑自定义控件,步骤如下: 1.点击文件转载 2009-11-16 08:39:00 · 6001 阅读 · 3 评论 -
WinForm控件开发总结(九)-----为属性提下拉式属性编辑器
在上一篇文章,我介绍了如何编写模态对话框属性编辑器,这篇文章我将介绍如何编写下拉式属性编辑器。下拉式(DropDown)属性编辑器和模态对话框属性编辑器的不同之处就是,当你点击属性值修改的时候,模态对话框编辑器是弹出一个模态对话框,而下拉式属性编辑器却是在紧贴着属性值的地方显示一个下拉的控件。不知道大家注意到了没有,这里我说的是显示一个下拉的控件,而这个控件也是需要你去开发的,接下来我还是以Sc转载 2009-11-16 14:51:00 · 975 阅读 · 1 评论 -
WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
前面的几篇文章中,我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型转换器,现在我们可以在属性浏览器中编辑它的值,并且它的值也被串行化的源代码里了。但是你有没有发现,在属性浏览器里编辑这个属性的值还是不太方便。因为属性只是“10,200”这种形式的,所以,你必须按照这种格式来修改,一旦格式错误就会引发异常,比如输入一个“10200”。我们期望这个属性的每一子属性都能够被独立的编转载 2009-11-16 14:22:00 · 553 阅读 · 0 评论 -
WinForm控件开发总结(五)-----为控件的复杂属性提供类型转换器
上一篇文章我已经介绍了TypeConverterAttribute元数据的作用,本文将通过代码向你展示具体的实现。在这个例子中,我要给控件添加一个复杂的属性,这个属性对这个控件没有什么功用,纯粹是为了演示,有些牵强附会了。 现在在前一篇文章中的创建的控件代码中添加一个Scope属性: 这个属性的类型是Scope类,代码如下: 添加完以后buil转载 2009-11-16 13:37:00 · 620 阅读 · 1 评论 -
WinForm控件开发总结(四)-----控件属性的串行化
前一篇文章介绍了常用的设计时Attribute。其中BrowsableAttribute,CategoryAttribute,DescriptionAttribute,DefaultPropertyAttribute,DefaultEventAttribute都是比较简单的,也是可有可无,但是为了提供更好的用户体验这些Attribute最好不要省掉,如果你对这些Attribute还不熟悉,可以参转载 2009-11-16 13:04:00 · 581 阅读 · 0 评论 -
WinForm控件开发总结(二)------使用和调试自定义控件
在上一篇文章里我们创建了一个简单的控件FirstControl,现在我来介绍一下怎么使用和调试自己的控件。我希望将过程写的尽可能的详细,让想学习控件开发的朋友容易上手,高手们见谅。 在同一个solution里添加一个Windows Application工程(在Solution Explorer里右键点击CustomControlSample solution选择Add->New Pr转载 2009-11-16 13:02:00 · 643 阅读 · 0 评论 -
写C#自定义控件的心得
使用C#也有一段时间了,但从未自已设计过自定义控件,刚刚完成了一个自定义控件的设计,觉得有一些技巧和知识,可以做一个总结. 有些东西,从MSDN中很不容易找到,比如对一些属性的描述设定.这里可以为此做一些汇兑. 我设计了一个平滑进度条控件,这在网上很容易找到一些现成的.不过,为了学习控件的设计,我还是自己写了一个. 这个控件继承自UserControl类.原理很简单,就是用刷子转载 2009-11-16 10:53:00 · 1075 阅读 · 0 评论 -
WinForm控件开发总结(十二)-----让控件处理导航键
最近真的真的太忙了,以至于一个多月都没哟更新我的blog。昨天晚上,一个网上的朋友看了我的ToolBox的文章,问我一个问题,他说如何让ToolBox控件也能响应键盘操作,也就是用Up,down按键来选择工具箱控件里的Item,他添加了键盘事件,但是不起作用。一开始做这个控件的时候也只是演示一下控件的制作过程,只用了很短的时间做了一个,只考虑了用鼠标选取,没有考虑键盘操作,我想要添加键盘操作无非转载 2009-11-16 15:02:00 · 1009 阅读 · 0 评论 -
WinForm控件开发总结(十一)-----调试控件的设计时行为
前面的一些文章绝大部分都是要讲控件的设计时的行为,既然涉及到这么多的设计时行为的代码编写,那么就有必要就一下如何来调试控件的设计行为。 调试控件的设计时行为和调试DLL的方式非常的相似,因为DLL是不能够单独运行的,而一般的控件也会在一个DLL里。当然如果你不考虑类的可复用性而把控件写在一个Windows Application里面也无可厚非,这样调试倒也变的简单了。但是我们还是要考转载 2009-11-16 15:01:00 · 669 阅读 · 1 评论 -
WinForm控件开发总结(十)-----为属性设置默认值
本系列的前面几篇文章讲解了如何来定义属性以及更有效的编辑属性,接下来我要讲一下控件属性的默认值。如果我们希望自己开发的控件更易于被其它开发者使用,那么提供默认值是非常值得的。 如果你为属性设定了默认值,那么当开发者修改了属性的值,这个值在Property Explorer中将会以粗体显示。VS为属性提供一个上下文菜单,允许程序员使用控件把值重置为默认值。当VS进行控件的串行化时,他会判转载 2009-11-16 15:00:00 · 565 阅读 · 0 评论 -
WinForm控件开发总结(八)-----为属性提供弹出式编辑对话框
前几篇文章我们一直在讨论如何更方便的编辑复杂类型的属性,在这个过程中我介绍了类型转换器以及如何制作自己的类型转换器来实现属性值的串行化和实现子属性的编辑。对于Scope这种级别的复杂属性,一个类型转换器就已经足够了,但是对于更为复杂的属性,单单使用类型转换器已经不足以应付了,比如我们常用的Font属性。 在这种情况下,我们就需要提供更为复杂的编辑方式,比如属性编辑对话框,你还记得Fo转载 2009-11-16 14:26:00 · 590 阅读 · 0 评论 -
WinForm控件开发总结(六)-----控件属性类型转换器代码详解
在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器,现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义。 要实现一个类型转换器,我们必须要重写(override)四个方法: CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我们只提供转换string和InstanceDesc转载 2009-11-16 14:08:00 · 597 阅读 · 0 评论 -
WinForm控件开发总结(三)------认识WinForm控件常用的Attribute
在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。 这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了一个属性TextAlignment,用来控制文本在控件中显示的位置: [ Category("Alignment"), D转载 2009-11-16 13:03:00 · 558 阅读 · 0 评论 -
WinForm控件开发总结(一)------开篇
我本人不是专业的控件开发人员,只是在平常的工作中,需要自己开发一些控件。在自己开发WinForm控件的时候,没有太多可以借鉴的资料,只能盯着MSDN使劲看,还好总算有些收获。现在我会把这些经验陆陆续续的总结出来,写成一系列方章,希望对看到的朋友有所帮助。今天我来开个头。 其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。如果你有MFC或者API图形界面的开发经转载 2009-11-16 13:01:00 · 872 阅读 · 0 评论 -
WPF自定义控件——使用Win32控件
虽然WPF很强大,但是有些东西win32做的已经很好,我们完全可以拿来主义。 一.如何创建一个win32控件 1.首先定义一个WNDCLASSEX的类,参考http://baike.baidu.com/view/1750396.html?tp=0_11WNDCLASSEX wndClsEx = new WNDCLASSEX();wndClsEx.Init转载 2009-12-02 14:00:00 · 2509 阅读 · 1 评论