在设计时以只读方式更改属性属性 (PropertyGrid)

发布于 2024-08-06 20:37:17 字数 219 浏览 7 评论 0原文

我开发了一个自定义控件,其中包含如下所示的一些字段:

ControlKind、Field1 、 Field2

我想更改每个 controlKind 的其中一个字段的属性,
例如:如果 controlKind == useField1,则 Field1 显示,Field2 隐藏在properyGrid(或只读或过滤器)中,

我可以这样做吗?

提前致谢

I develop a custom control that have some field like below:

ControlKind, Field1 , Field2

I want to change attribute of one of field per controlKind,
Like: if controlKind == useField1, then Field1 show and Field2 hidde in properyGrid (or readonly or filter)

can i do it ?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千と千尋 2024-08-13 20:37:17

实现 ICustomTypeDescriptor,或注册 TypeDescriptionProvider 并从中返回自定义类型描述符,或应用 TypeConverterAttribute。

在所有三种情况下,您都需要实现/重写 GetProperties 方法以返回实际属性的筛选子集。 (在 TypeConverter 方法中,您还必须重写 GetPropertiesSupported 以返回 true。)

Implement ICustomTypeDescriptor, or register a TypeDescriptionProvider and return a custom type descriptor from that, or apply TypeConverterAttribute.

In all three cases, you need to implement / override the GetProperties method to return a filtered subset of the actual properties. (In the TypeConverter approach, you must also override GetPropertiesSupported to return true.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文