我有一个用户控件(称为'父'),它动态添加或删除其他控件('孩子')。如何从HelpProvider注销一个控件?
父级维护一个HelpProvider对象,该对象应该被查询与包含在child('subchild')中的控件相关的帮助字符串。子控件不能直接访问,所以我打算给孩子提供一些让孩子填充HelpProvider对象的方法(例如public void InstallHelpProvider(HelpProvider))。所以,当孩子被动态地添加到父母时,父母会在安装该控件之前调用孩子上的InstallHelpProvider。
我不完全知道HelpProvider内部,但我想它会为正在安装的控件保留一个映射。因此,我想从父母的子控件中删除条目(如果仅仅是为了不浪费系统资源)。
HelpProvider有一个公开的方法ResetShowHelp(Control),我假设这项工作。但是,MSDN表示这种方法是基础设施,并不是直接使用。
有人用过这种方法么?或者也许有另一种(打算)如何做到这一点?或者,也许HelpProvider不适合我的设计?
问候, jerb
好吧,我本可以猜出自己,因为HelpProvider.SetHelpKeyword的备注部分是这样说的(尽管如此,对于SetHelpKeyword)。只是出于兴趣:你从哪里得到这个?只是我没有找到任何简单的测试方法来设置值null真的会删除条目... – jerb 2010-03-12 13:59:28
正如您所写,HelpProvider(以及其他扩展类,如工具提示提供程序)维护着将控件与新数据关联的映射。我想我已经学会了如何通过这样的构造去除工具提示(将null与控件关联)。 – Timores 2010-03-12 15:48:17