如何通过编程手段在PropertyGrid中隐藏特定字段?
- 内容介绍
- 文章标签
- 相关推荐
本文共计300个文字,预计阅读时间需要2分钟。
使用 `System.ComponentModel.TypeConverter` 检查类型转换器(`ExpandableObjectConverter`)是否适用于一个类的声明(包括它是另一个类的属性)。我简单地加载了这个类的实例... Pr
运用<System.ComponentModel.TypeConverter(GetType(System.ComponentModel.ExpandableObjectConverter))> _
关于一个类的声明(它是另一个类的属性),由一个数字属性组成.
我简单地加载了这个类的一个实例……
PropertyGrid1.SelectedObject = oColumn
显然我不想在代码中手动构建propertygrid,我知道如何做到这一点.
但这是问题所在.根据属性的值,某些其他属性不应该是可见的,就像我使用了
<System.ComponentModel.Browsable(False)> _
属性声明中的属性.
无论如何都要以编程方式执行此操作,而无需手动处理属性网格的所有构建>
如果你希望gridItem.Hide()然后,答案是否定的.在MS PropertyGrid中实现该功能的唯一方法是通过TypeConverter的GetProperties方法或自定义类型描述符(实现ICustomTypeDescriptor)动态发布属性.我首先尝试使用TypeConverter(特别是如果要检查的属性值处于同一级别),编码要少做.本文共计300个文字,预计阅读时间需要2分钟。
使用 `System.ComponentModel.TypeConverter` 检查类型转换器(`ExpandableObjectConverter`)是否适用于一个类的声明(包括它是另一个类的属性)。我简单地加载了这个类的实例... Pr
运用<System.ComponentModel.TypeConverter(GetType(System.ComponentModel.ExpandableObjectConverter))> _
关于一个类的声明(它是另一个类的属性),由一个数字属性组成.
我简单地加载了这个类的一个实例……
PropertyGrid1.SelectedObject = oColumn
显然我不想在代码中手动构建propertygrid,我知道如何做到这一点.
但这是问题所在.根据属性的值,某些其他属性不应该是可见的,就像我使用了
<System.ComponentModel.Browsable(False)> _
属性声明中的属性.
无论如何都要以编程方式执行此操作,而无需手动处理属性网格的所有构建>
如果你希望gridItem.Hide()然后,答案是否定的.在MS PropertyGrid中实现该功能的唯一方法是通过TypeConverter的GetProperties方法或自定义类型描述符(实现ICustomTypeDescriptor)动态发布属性.我首先尝试使用TypeConverter(特别是如果要检查的属性值处于同一级别),编码要少做.
