我有一个用户控件(称为“父”),它动态添加或删除其他控件('child')。
父级维护一个HelpProvider对象,该对象应该被查询以获取与子级('subchild')中包含的控件相关联的帮助字符串。子进程控件不能直接访问,所以我计划为子进程提供一些让孩子填充HelpProvider对象的方法(例如public void InstallHelpProvider(HelpProvider))。因此,当子动态添加到父级时,父级将在安装控件之前调用子级上的InstallHelpProvider。
我不完全了解HelpProvider内部,但我想它会为正在安装的控件维护一个地图。因此,当从父项中删除子控件时,我想从父级帮助提供程序中删除条目(如果只是为了不浪费系统资源)。
HelpProvider有一个公共方法ResetShowHelp(Control),我假设它可以完成这项工作。但是,MSDN说这种方法是基础设施,不打算直接使用。
有没有人使用这种方法?或者可能还有另一种(预期)方式如何做到这一点?或者也许HelpProvider不能很好地适应我的设计?
此致 jerb
答案 0 :(得分:0)
在控件上安装帮助就像这样(你已经知道了):
this.helpProvider1.SetShowHelp(this.cityTextBox, true);
this.helpProvider1.SetHelpString(this.cityTextBox, "Enter the city here.");
以相反的方式删除帮助:
this.helpProvider1.SetShowHelp(this.cityTextBox, false;
this.helpProvider1.SetHelpString(this.cityTextBox, null);
我不记得两个电话是否必要或第一个是否足够。