C# Winforms 属性网格和错误提供程序

4
我正在扩展错误提供程序到属性网格和树形视图控件。我在这篇非常有帮助的文章中找到了一个帖子:示例,详细介绍了如何将错误提供程序添加到属性网格,并且它运行得非常好。我的问题是作者是怎么知道 IPropertyValueUIService 是属性网格用来显示图标和工具提示的接口的呢?我已经使用 Reflector 来反编译了属性网格和 IPropertyValueUIService,但我没有看到任何关系。
这是为了作为程序员自己的学习,以及尝试将错误提供程序扩展到树形视图。
谢谢您的帮助, dhysong
1个回答

3
我猜这部分内容是从文档或者反编译工具Reflector里找到的?要查找IPropertyValueUIService,按下Ctrl+r并展开“Used By”,然后你可以看到它是由PropertyGridInternal.PropertyDescriptorGridEntry使用的。

你是发表那篇解释的 Marc Gravell 吗?我看到 MSDN 上关于 IPropertyValueUIService 的文档非常清晰,但我不知道如何从 propertygrid 文档中找到 IPropertyValueUIService。 - dhysong
1
PropertyGrid主要是使用System.ComponentModel和PropertyDescriptor; 相关文档介绍了这一点。事实上,System.ComponentModel非常庞大,即使它(通常)有很好的文档,但仍存在一些空缺 - 可能该链接位于间隙中。或者它可能已经存在,只是我们还没有看到。 - Marc Gravell
我错了。我无法从反射器中的属性网格访问IPropertyValueUIService。我确实看到“使用者”有PropertyGrid + PropertyGridServiceProvider,因此我可以推断出PropertyGridServiceProvider实现了IPropertyValueUIService。非常感谢Marc提供的初始代码和解释。 - dhysong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接