我正在编写的应用程序中使用了PropertyGrid,允许用户查看和有时编辑对象实例。有时,用户可能会以读/写模式打开文件,在通过属性网格对文件进行更改。在其他情况下,他们可能会以只读模式打开文件,并且不应通过PropetyGrid对对象进行任何更改。我的类还有通过实现ICustomTypeDescriptor返回的动态属性,因此我确实希望利用PropertyGrid控件内置的灵活性。
似乎没有一种简单的方法可以将Property-grid设置为只读模式。如果我禁用PropertyGrid,则也会防止用户滚动列表。所以我认为最好的方法是在运行时向属性添加ReadOnlyAttributes。还有其他方法吗?