.net - 如何自定义 PropertyGrid 上的类别排序?

标签 .net winforms propertygrid

如何自定义 PropertyGrid 中的类别排序?

如果我设置以下任一...

propertyGrid.PropertySort = PropertySort.Categorized;
propertyGrid.PropertySort = PropertySort.CategorizedAlphabetical;

...然后类别将按字母顺序排列。 (“字母顺序”似乎适用于每个类别中的属性。)如果我使用 PropertySort.NoSort ,我失去了分类。

我正在填充我的 PropertyGridSelectObject ,这很容易:
this.propertyGrid1.SelectedObject = options;
options是具有适当修饰属性的类的实例:
    [CategoryAttribute("Category Title"),
    DisplayName("Property Name"),
    Browsable(true),
    ReadOnly(false),
    BindableAttribute(true),
    DesignOnly(false),
    DescriptionAttribute("...")]
    public bool PropertyName {
        get {
            // ...
        }

        set {
            // ...
            this.OnPropertyChanged("PropertyName");
        }
    }

我在六个类别中有几十个属性。

有什么方法可以调整类别排序顺序,同时保持我的易用性 SelectedObject ?

最佳答案

如果您的意思是希望以特定(非字母顺序)方式对类别进行排序,那么不 - 我认为您不能这样做。您可能想尝试 VisualHint - 我希望它确实有这个(因为你可以捕获更多的控制权)。

关于.net - 如何自定义 PropertyGrid 上的类别排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823327/

相关文章:

c# - 如何获取 PropertyGrid 的单元格值 (c#)?

c# - 在 C# 或 VC++ 中导入 MinGW C++ DLL

多个类的 C# 泛型方法

.net - 版本控制的生产环境

c# - 检测哪种类型的控件处于事件状态

C# 强制 PropertyGrid 不扩展子类属性并在根级别显示它

c# - 使自定义对象线程安全

.net - Windows 窗体 - 多个事件循环

c# - 如何退出所有正在运行的线程?

c# - 相当于Visual Studio的 "Properties Window"的控件?