C#Winforms PropertyGrid和ErrorProvider

C#Winforms PropertyGrid和ErrorProvider,c#,reflection,propertygrid,errorprovider,C#,Reflection,Propertygrid,Errorprovider,我正在将errorprovider扩展到propertygrid和treeview控件。我发现了一个非常有用的帖子: 详细介绍了如何将errorprovider添加到propertygrid,并且效果非常好。我的问题是作者如何知道IPropertyValueUIService是propertygrid用来显示图标和工具提示的界面。我已经使用Reflector分解了propertygrid和IPropertyValueUIService,但没有发现任何关系 这是为了我自己作为一名程序员的启发,以及

我正在将errorprovider扩展到propertygrid和treeview控件。我发现了一个非常有用的帖子: 详细介绍了如何将errorprovider添加到propertygrid,并且效果非常好。我的问题是作者如何知道IPropertyValueUIService是propertygrid用来显示图标和工具提示的界面。我已经使用Reflector分解了propertygrid和IPropertyValueUIService,但没有发现任何关系

这是为了我自己作为一名程序员的启发,以及尝试将errorprovider扩展到treeview

提前感谢,,
dhysong

我猜部分是因为


或从反射器;找到IPropertyValueUIService,按Ctrl+r并展开“Used By”,您可以看到它是如何被
PropertyGridInternal.PropertyDescriptorGridEntry使用的

您就是发布该解释的Marc Gravell吗?我看到IPropertyValueUIService上的MSDN文档非常清晰,但我不知道如何从propertygrid文档中获得IPropertyValueUIService;链接文档讨论了这一点。事实是System.ComponentModel非常大,尽管(通常)有很好的文档记录,但仍存在一些差距——这一链接可能存在差距。或者它就在那里,我们只是没有看到而已。我错了。我无法从reflector中的propertygrid访问IPropertyValueUIService。我确实看到“used by”具有PropertyGrid+PropertyGridServiceProvider,因此我可以推断PropertyGridServiceProvider实现了IPropertyValueUIService。非常感谢Marc提供的初始代码和解释。