C# PropertyGrid - 使所有属性不粗体

标签 c# winforms propertygrid

在 PropertyGrid 表单元素中,当我向类别添加属性时,某些属性会以粗体显示。
现在,我知道这表明它们是该类别中的默认值。我的问题是如何使所有属性变为粗体?
我知道一种可能的方法是更改​​ DefaultValueAttribute 属性,但我想知道是否可以以不同的方式完成:this post建议我可能必须使用反射,这对我来说有点神秘:)
预先感谢您

最佳答案

对于每个属性,您可以添加:

private bool ShouldSerialize{PropertyName}() { return false; }

除此之外,您还可以通过 ICustomTypeDescriptorTypeDescriptionProvider 进入自定义 PropertyDescriptor 实现领域。

请注意,此模式在许多地方使用,但在某些地方(例如,XmlSerializer),它需要是 public 方法。

关于C# PropertyGrid - 使所有属性不粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442223/

相关文章:

c# - Entity Framework 数据库优先,同表名和列名映射

c# - 如何将 PropertyGrid 集合限制为 List<T>

c# - 在多个分隔符上分隔字符串时,如何知道使用了哪个分隔符? (C#)

c# - 在创建文件夹时提供文件夹名称

c# - NumericUpDown 值 * 加价

c# - 如何使用日期(日期时间格式)创建图表工具提示

c# - 如何从 PropertyGridView 中删除标准属性

c# - 如何覆盖 PropertyGrid 中属性显示的文本

c# - 将两个图像合并为一个新图像

c# - 检查 Web API 是否可用的好/正确方法是什么?