动态枚举.Net中属性的值
您知道TreeView控件的ImageList属性如何列出表单上的所有ImageList吗?我需要类似的东西,但是有一个字符串列表。它类似于枚举,但在运行时定义,对象在PropertyGrid中公开属性动态枚举.Net中属性的值,.net,enumeration,propertygrid,.net,Enumeration,Propertygrid,您知道TreeView控件的ImageList属性如何列出表单上的所有ImageList吗?我需要类似的东西,但是有一个字符串列表。它类似于枚举,但在运行时定义,对象在PropertyGrid中公开属性 因此,对于像{“foo”、“bar”、“grill”}这样的字符串列表,属性应该列出这些字符串,但是如果字符串列表发生更改(例如,添加一个“bbq”项),属性应该枚举{“foo”、“bar”、“grill”、“bbq”}。这说明了如何编写自定义或。如果只是需要的字符串列表,看看你自己写的。您需要
因此,对于像{“foo”、“bar”、“grill”}这样的字符串列表,属性应该列出这些字符串,但是如果字符串列表发生更改(例如,添加一个“bbq”项),属性应该枚举{“foo”、“bar”、“grill”、“bbq”}。这说明了如何编写自定义或。如果只是需要的字符串列表,看看你自己写的。您需要重写
GetStandardValues
方法。类型编辑器太过了。仅仅使用类型转换器要容易得多。使用UITypeEditor可以实现很多功能,但仅仅使用字符串列表(例如,您必须创建一个列表控件来保存项目)就太过分了。TypeConverter几乎是自动的。本文还介绍了组合框的TypeConverter。