为运行时为propertygrid生成的枚举属性提供值

本文关键字:属性 枚举 运行时 propertygrid | 更新日期: 2023-09-27 18:27:41

我需要在运行时添加要在proertygrid中显示的枚举属性,这将导致我进入页面

运行时生成的属性(PropertyGrid.SelectedObject)

它完成了我想要的工作。我用静态枚举测试了这一点,但我也需要在运行时向枚举提供用户定义的值。我知道我需要更改

 public override StandardValuesCollection
             GetStandardValues(ITypeDescriptorContext context)

方法,但问题是context.instance属性显示了上面提到的stackoverflow页面中描述的包内的所有属性。因此,如果我有5个属性,实例属性将有一个由5个属性组成的数组;我怎么才能知道哪一个是我应该惹的?除了在GetStandardValues()方法中填充外,还有其他方法可以为枚举提供值吗?

欢呼,ES

为运行时为propertygrid生成的枚举属性提供值

ITypeDescriptorContext对象有一个PropertyDescriptor.Name属性
context.PropertyDescriptor.Name

这将显示元素。

-ES