UI类型编辑器

当你在制作组件时遇到难以构造,解释的或者取值过多,比较复杂的或者难以用一个字符串来表示的视觉效果属性时,你需要实现UI类型编辑器。常见属性ForeColor属性就是一个很好的例子,这种可视化编辑风格使得属性值的选择更方便,更美观!

实现一个定制的UI编辑器:

1.从UITypeEditor基类派生一个新类。

2.对继承自基类的GetEditStyle和EditValue方法进行覆盖。

具体实现:

1.访问属性浏览器的UI显示服务IWindowsFormsEditorService

2.创建该编辑器UI实现的一个实例。

3.把当前属性的值传递给你在第2步创建的UI编辑器控件。

4.请求属性浏览器显示这个UI编辑器控件。

5.选择一个新的属性值并关闭这个UI编辑器控件。

6.从这个编辑器返回,返回值就是你在第5步选择的新属性值。

还是以ClockControl为例(参考前文:《.Net窗体设计阶段的功能集成问答》《类型转换器的定制》,附源代码),为它的Face属性提供一个下拉式编辑器:

FaceEditor

 

FaceEditorControl
posted @ 2009-03-03 13:37  火必烈  阅读(1855)  评论(0编辑  收藏  举报