日期:2014-05-18  浏览次数:21054 次

请问关于控件design画面设置property的问题
请问各位,我在一个控件中自定义了一个property,我把这个属性的类型设置为一个自定义的object,问题来了,这样在写代码的时候可以设置他的值,但是如何在用户在design画面把这个控件拖到form上后,可以可视化的编辑这个属性,需要在这个property定义的地方加上Attribute或者其他什么吗

------解决方案--------------------
vs2005没有支持object属性的编辑器,所以属性出得来,但是跟tag域一样,只能输字符串,想要把属性展示出来很简单,比如string型的可以用
C# code

private string property=string.empty;
public string Property
{
set{property=value;}
get{return property;}
}

------解决方案--------------------
给你要编辑的属性设计好编辑的窗口,然后定制一个UITypeEditor类,指定用你定义的窗口处理此属性。给你的属性加上EditorAttribute,把UITypeEditor类绑定到属性上,这样在PropertyGrid里,选定这个属性时,会显示那个有3个点的小按钮,按这个按钮就可以激活编辑窗口。
具体看看MSDN里UITypeEditor的内容吧。